在本地用Python + Flask开发了个web应用,要部署到内网的server上,内网的server默认只安装了Python2.6, 没有Internet网络连接,不能直接安装Flask库。于是,便采取以下方法实现在没有Internet连接的server上安装Python第三方库:
先准备一个能连接Internet网络的server:server A, 该server配置与要部署的内网server一致
- 下载pip(https://pypi.org/project/pip/#files): pip-20.1.1.tar.gz
- 上传至server A
- 解压: tar -xvf pip-20.1.1.tar.gz
- 安装pip:
sudo su -
cd pip-20.1.1
python setup.py install
备注: 我的server A上没有pip,所以要先安装pip。如果server A上已经安装有pip,则1-4 步可以省略 - pip安装flask: pip install flask
- 将安装的所有依赖包list到文件中(可以在装之前生成一个list,装之后再生个list,做个对比,只需要新增的依赖包):pip freeze > flask_modules.txt
- 创建依赖包目录:mkdir python_packages
- 根据list文件下载所有依赖包: pip download -r flask_modules.txt -d ./python_packages
- 将下载完的文件夹打包: mv flask_modules.txt python_packages/ && tar -czf python_packages.tar.gz python_packages
- 将压缩文件python_packages.tar.gz上传到最终要部署的内网server(该服务器如果没有 pip, 要先安装pip,参考上面的步骤1-4)
- 解压python_packages.tar.gz: tar -xvf python_packages.tar.gz
- 安装依赖包即可: cd python_packages && pip install --no-index --find-links=file:. -r flask_modules.txt