Python 无法联网环境如何安装python包
内部环境的服务器有些无法连外网,无法下载一些 python 依赖,而且也没有用 Docker/K8s 这种隔离环境的技术。在这种情况下,Python 无法下载一些包,导致一些代码无法运行。本文介绍在这种背景下,如何安装依赖包。
·
1. 前言
内部环境的服务器有些无法连外网,无法下载一些 python 依赖,而且也没有用 Docker/K8s 这种隔离环境的技术。在这种情况下,Python 无法下载一些包,导致一些代码无法运行。本文介绍在这种背景下,如何安装依赖包。
2. 安装单个包
2.1 准备包
找一个可以联网的环境(保证 Python 的版本相差不大),先下载依赖包:
python download xxx
例如,我这里以 pandas 包为例:
mkdir pandas
cd pandas
python download pandas
下载完成之后,目录会出现以下文件:
-rw-r--r-- 1 root root 18240889 May 15 10:52 numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
-rw-r--r-- 1 root root 13032214 May 15 10:52 pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
-rw-r--r-- 1 root root 229892 May 15 10:52 python_dateutil-2.9.0.post0-py2.py3-none-any.whl
-rw-r--r-- 1 root root 505474 May 15 10:52 pytz-2024.1-py2.py3-none-any.whl
-rw-r--r-- 1 root root 11053 May 15 10:52 six-1.16.0-py2.py3-none-any.whl
-rw-r--r-- 1 root root 345370 May 15 10:52 tzdata-2024.1-py2.py3-none-any.whl
打包目录:
tar -zcf pandas.tgz pandas
2.2 安装包
将 pandas.tgz
包上传到无法联网的环境中(通过跳板机、通过人工拷贝等),然后解压文件:
tar -zxf pandas.tgz
cd pandas
先安装目录中的其他依赖(目录中以 .whl 结尾的文件):
pip install xxx.whl
如果目录中存在 .tar.gz 结尾的文件,还需要解压并且安装
tar -zxf xxx.tar.gz
cd xxx
python setup.py install
3. 安装项目依赖包
与安装单个包不同的是,安装项目依赖包会存在很多依赖,此时需要将项目的依赖导出到 requirements.txt
文件中,然后再下载、安装
3.1 准备包
导出依赖:
pip freeze > requirements.txt
下载包:
mkdir dep-pkg
cd dep-pkg
pip download -r requirements.txt
打包:
tar -zcf dep-pkg.tgz dep-pkg
3.2 安装包
这部分同2.2章节类似,可以用下面语句一键安装 .whl 文件
ls |grep .whl |xargs pip install
同样的,如果目录中存在 .tar.gz 结尾的文件,还需要解压并且安装,参考2.2章节
4. 参考
https://blog.csdn.net/qq_43435274/article/details/105079109
更多推荐
已为社区贡献14条内容
所有评论(0)