离线安装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包的离线批量安装