由于安全问题,公司的服务器可能无法直接通过pip install从仓库拉取python包并安装,因此需要使用离线方式将python包进行安装。
基础
注意事项
进行python包下载的服务器系统环境需要和目标安装python包服务器的环境一样,因为有的python包分系统。
你得保证目标安装服务器有python环境
演示环境
centos 7.8
python 3.8
注: python3安装教程可以参考centos 简洁版 python3安装教程
实操
python包下载
找一个能够通过pip下载的服务器,先把python包下载下来
pycharm上获取项目依赖
在运行后 会在项目文件夹中生成requirements.txt 包文件 ,没有pipreqs 需要 install一下
pipreqs ./ --encoding=utf8
将reqirements.txt上传到你的服务器中,如果是离线部署flask需要另外下载一些包
批量下载python包
注:我这里将reqirements.txt 上传到/user/pypack 路径上
[root@centos pypack] pip3 download -d ./packs -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
这里包会直接下载到 /user/pypack/packs 路径之中
单独下载python包
例如 : virtualenv Gunicorn 等 只需要将其中的名字改变一下
[root@VM-12-6-centos pypack] pip3 download -d ./packs virtualenv -i https://mirrors.aliyun.com/pypi/simple/
确认python同系统环境的包下载完了之后,进行打包,并上传,接下来就是离线安装
python包安装
这里极力建议 使用 virtualenv 先创建一个python虚拟环境(类似于conda)之后再去安装包
将virtualenv 从包中安装
[root@centos] pip3 install --no-index --find-links=file:./packs virtualenv
在创建的虚拟环境中安装包(单独)
(env)[root@centos] pip3 install --no-index --find-links=file:./packs gunicorn
在创建的虚拟环境中安装包(批量)
(env) [root@centos] pip3 install --no-index --find-links=./packs -r requirements.txt