一开始学习python的时候,很多教程和视屏都会教大家直接使用pip安装工具安装需要用到的package包,简单方便,而且,过程中需要什么依赖程序会自动去搜索然后自动安装下载,当然啦,缺点也比较明显,就是一定要联网。
很多人会觉得不以为然,以为这年头都互联网时代了,还会有不联网的机器吗?有或者实在不行,可以先联网,然后到机器需要生产时,再重新打开防火墙不就可以了?说的好像有点道理,但是在一个真正的项目里,为了防范系统被入侵,或着在不经意间被植入病毒等,几乎所有的大公司在做项目开发,或者将项目外包给外部人员的时候,都是不会开放外网给生产机器的,为了安全起见,他们往往是宁可你项目拖久一点,也要让系统处在安全的生产环境中。
这也就给程序员和运维人员提出了更高的要求,你需要自己去把需要的包下载下来,然后手动导入到服务器上,并且安装,可是有些机器(或者说绝大部分机器)都是“裸机+操作系统”(即:只有最基本的运行环境),比如当下最流行的开源服务器系统CentOS,其无论是较新版本的CentOS7还是旧版本CentOS6本身都默认不会带有pip安装工具,这就需要我们手动安装,这也是我接下来要讲的重点。
离线安装pip工具具体步骤如下:
- 下载需要的离线安装包(这里除了pip本身的安装包之外,还需要下载安装setuptools,否则后期会报错)。可以去官网( https://www.pypi.org/ )上下载,或者点击这里下载。
- 将下载好的安装包导入到服务器的某个目录上。(可以导入到自己的家目录或者/tmp目录下,导入到/tmp目录下操作系统会在下次开机后自动清除)。
- 输入tar -zxvf xxx.tar.gz 将压缩包解压,会发现有两个压缩包,一个是setuptools的,一个是pip的,我们先安装setuptools.
- 输入tar -zxvf setuptools-xx.x.x.tar.gz 解压缩setuptools的压缩包。
- 进入解压后的setuptools目录,输入 python setup.py install (程序会根据系统自带的python版本安装对应的setuptools)
- 同理,解压完pip的压缩包,然后进入pip的解压目录,输入 python setup.py install
如果你看到
Installed /usr/lib/python2.7/site-packages/pip-19.0.1-py2.7.egg
Processing dependencies for pip==19.0.1
Finished processing dependencies for pip==19.0.1的时候,证明pip已经安装成功了,可一使用pip安装需要的包了,但是如果服务器不能联网,pip就无法使用联网的方式安装python的package包,也不能自动寻找需要的依赖,这些同样要自己手动安装。但是可一直接使用pip安装whl文件,直接去官网下载对应的whl文件,然后使用pip install xxxx.whl 即可安装对应的package,安装目录在 /usr/lib/python2.7/site-packages/。
另外一种离线安装python包的方式是直接下载对应的压缩文件(一般有zip文件和tar.gz两种),然后解压,进入解压后的目录,输入 python setup.py install 同样可以离线安装package包,只不过需要sudo权限,安装目录在/usr/local/lib/python2.7/site-packages/ 下。

















