生产服务器上安装Python
2018-05-17
生产环境的服务器(以下简称内网服务器)由于安全限制,可能无法连接外网。这种情况下将无法直接使用pip命令安装python的包
一、更改pip源
- 默认pip是使用Python官方的源,但是由于国外官方源经常被墙,导致不可用,我们可以使用国内的python镜像源,从而解决Python安装不上库的烦恼
网上有很多可用的源,例如:
豆瓣:http://pypi.douban.com/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple
注意后面要有/simple目录!!!
1、临时使用,只有安装pillow时使用指定源
1、临时使用,只有安装pillow时使用指定源
2、永久修改
Linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url至tuna,内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
二、pip的安装
官方文档: https://pip.pypa.io/en/stable/installing/
1、下载get-pip.py脚本执行
python get-pip.py
2、源码安装
- setuptools (https://pypi.org/project/setuptools/#description)
tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py install
- 下载pip
进入https://pypi.python.org/pypi/pip,下载第二项。
解压下载的文件(windows下只用解压工具解压如RAR,Linux下终端输入tar -xf pip-9.0.1.tar.gz,即tar -xf 文件名),进入解压后的文件夹中,调出命令行窗口或者终端,
- windows下输入
python setup.py install
- Linux下输入
sudo python setup.py install
- 安装成功后测试下,输入
pip -v
三、离线安装
1、通过代理服务器连接外网安装
内网服务器一般是通过跳板机连接的,若你的跳板机可以正常访问外网,则可以考虑在跳板机上架设代理服务器,然后目标服务器通过跳板机的代理访问外网。
$ export https_proxy=http://proxy.mydomain.com:<port>
$ export http_proxy=http://proxy.mydomain.com:<port>
$ pip install <package>
2、离线安装
若不具备使用代理服务器的情况,则先使用一台可以连接网络的服务器下载需要的packages,然后再拷贝到内网服务器上进行安装。
https://pip.pypa.io/en/stable/reference/pip_download/#pip-download
(1)下载需要离线安装的Packages
- 安装单个Package
$ pip download -d path SomePackage # equivalent to above
- 安装多个Packages
pip download -d path SomePackage -r requirements.txt
(2)将下载好的Packages拷贝至内网服务器
- 使用scp、sftp等方式将下载好的Packages拷贝至需要离线安装这些包的内网服务器。
(3) 安装Packages
假设内网服务器的目录 /tmp/transferred_packages 包含你上一步远程拷贝过来packages,在内网服务器上执行如下命令
- 安装单个Package的情况
pip install --no-index --find-links="/tmp/tranferred_packages" <package>
- 安装多个Packages
pip install --no-index --find-links="/tmp/tranferred_packages" -r requirements.txt
生产服务器上安装Python的更多相关文章
- linux服务器上安装python 3.6.3
一.下载源码包 地址https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz 二.解压源码包 1.下载解压工具xz #yum -y ins ...
- 在CentOS上安装Python
首先我们需要在服务器上安装一个比较新的 Python,CentOS 5.8 默认装的 Python 是 2.4.3. [root@nowamagic ~]# python -V Python 我们需要 ...
- 远程编写+调试服务器上的Python程序
原帖参见(需自备梯子):https://webcache.googleusercontent.com/search?q=cache:1htdR2EXj5wJ:https://www.digitaloc ...
- ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法
原文:ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法 本文只是个人的理解和学习记录,如果觉得本 ...
- centos上安装python环境
1.安装python-pip 首先安装epel扩展源: yum -y install epel-release 更新完成之后,安装pip: yum -y install python- ...
- 如何在一台服务器上安装两个mysql或者更多
如何在一台服务器上安装两个mysql 1 前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2 环境 mysql ...
- 我为什么很烦在DB服务器上安装杀毒软件
常见的数据库连接问题无外乎是在数据库服务器本地可以连接SQL Server,但通过其他服务器就不可以连接.但这次我却碰到了相反的情况,在服务器本地无法通过IP/实例名连接,但从其他服务器却可以.而且每 ...
- 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)
在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...
- 在Windows Server 2012服务器上安装可靠多播协议
为什么要安装可靠多播协议? 答:随着因特网的发展,出现了视频点播.电视会议.远程学习.计算机协同工作等新业务.传统的点到点通信方式,不仅浪费大量的网络带宽,而且效率很低.一种有效利用现有带宽的技术 ...
随机推荐
- scrum例会报告+燃尽图02
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9955 一.小组情况 组长:贺敬文组员:彭思雨 王志文 位军营 徐丽君队名 ...
- java代码如何在没有安装JDK的Windows下运行
java代码如何在没有安装JDK的Windows下运行? 对于Java桌面应用来说,比较烦琐的就是安装部署问题,如:客户端是否安装有jre.jre版本.jre在哪里下载.如何用jre启动Java应用等 ...
- 从txt导入数据到mysql
当要往mysql的table中录入数据量大的时候,直接从txt录入已有数据是一个愉快的选择. 在录入数据前要做一些格式上的准备 1. txt编码要是utf-8,无BOM 2. 每行以\t\n结尾,每列 ...
- Tensorflow所遇坑
TensorFlow问题: 1.FLAGS._parse_flags()报错AttributeError:_parse_flags 解决: 因为TensorFlow的版本问题了,TensorFlow版 ...
- Python 基础语法_Python脚本文件结构
目录 目录 前言 软件环境 Python Script文件结构 导入模块的流程 Python的包package 最后 前言 Python基础语法这一章,主要记录了Python的文件结构.逻辑运算符.算 ...
- Selenium 2自动化测试实战20(操作cookie)
一.操作cookie 有时候我们需要验证浏览器中cookie是否正确,因为基于真实cookie的测试是无法通过白盒和集成测试的.WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除 ...
- 页面访问过程及get/post的理解——
Chrome查看开发者工具面板,常看的一些数据? Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈. Console:记录开发者开发过程中 ...
- asp.net mvc model attribute and razor and form and jquery validate 完美结合
1.创建Model,添加标注. [Serializable] public class BaseUserModel:BaseModel { [StringLength(100)] [Required( ...
- Synchronized知道这些就可以了
Synchronized关键字算是Java的元老级锁了,一开始它撑起了Java的同步任务,其用法简单粗暴容易上手.但是有些与它相关的知识点还是需要我们开发者去深入掌握的.比如,我们都知道通过Synch ...
- 图片下载&&非同源图片下载&&同源下载&&网页点击下载图片
非同源图片下载(html添加canvas标签) 方法1: downloadImgByBase64(url){ console.log() // 创建隐藏的可下载链接 // let blob = ...