程序员

离线安装python包

2018-09-14  本文已影响0人  囧雪啥都不知道

当本地开发环境可以联网而服务器不能联外网。我们可以把本地的包打包好放到服务器上一次性安装。

首先本地应该安装好pip,setuptools,etc不赘述了。

然后服务器上安装python:

ftp把安装包传上去,然后依次执行下列命令

#解压
tar -zxf Python-2.7.13.tgz 

#进入
cd Python-2.7.13

#编译安装
./configure --prefix=/usr/local/python2.7 --with-threads --enable-shared
make && make altinstall

#备份旧版命令
#===> 有些版本/usr/bin/目录下不存在pip 忽略下面第一行命令即可
mv /usr/bin/pip /usr/bin/pip_old  
mv /usr/bin/easy_install /usr/bin/easy_install_old
mv /usr/bin/python /usr/bin/python_old

#新版命令软连接
ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib
ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0 /usr/lib
ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python
ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib64
ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0 /usr/lib64

#测试
python

然后安装setuptools 和 pip,可以选择尽量新的版本:

你可能需要先安装zip和unzip,在centos的镜像中一般已经提供

yum install zip unzip

然后解压setuptools和pip的安装包,cd到目录中,执行setup命令。以pip-18.0.tar.gz为例:

#解压
tar -zxf pip-18.0.tar.gz

#进入
cd pip-18.0.tar.gz

#安装
python setup.py install

这样服务器的python就安装好了

回到本地机器来打包py的包

首先进入本地的python安装路径, 如D:\Python\Python27, 打开命令行:

#生成已安装包清单
pip freeze >requirements.txt
#Windows下 下载tar包
pip download --no-binary=:all: -r .\requirements.txt

这时会生成一个清单文件requirements.txt以及对应的包文件夹packages

注意,清单文件要放入package文件夹中。

现在将packages/ 上传到服务器,执行:

cd packages/
pip install --no-index --find-links=./ -r requirements.txt

这样就完成了服务器上python包的离线批量安装

上一篇下一篇

猜你喜欢

热点阅读