前景提要 : 我们有个项目需要在内网环境下开发,由于开发环境无法访问互联网 。所以无法安装Python的各种依赖包 。 由于三方依赖可能关联更多依赖,所以一个一个下载whl文件去安装是非常麻烦的 。这里提供一种相对简单的迁移方案 。可将python的整体环境迁移到无互联网的环境当中。
第一步
在允许访问互联网的电脑中创建一个干净的python 虚拟环境,然后将项目的所有依赖安装好。
pip install xxxx
。可通过这个命令安装依赖包。
第二步
所有需要的依赖包都装好后,测试项目运行情况 。运行正常后,开始导出安装的依赖文件 requirements.txt:
pip freeze > requirements.txt
. 这一步是将虚拟环境的依赖都写入到这个txt 文件中。
第三步
将安装的Python依赖包保存到packages目录下:
pip download -r requirements.txt -d packages
。 执行完后 ,目录下会出现一个packages
的文件夹和requirements.txt
文件。
接下来,切换到无网络环境的主机上。
第一步
安装Python 环境 。可以将下载好的Python 安装文件上传上来,安装 这个步骤就不讲了。
第二步
在主机上创建一个Python 的虚拟环境 。并且将
packages
和requirements.txt
这两个上传到主机的项目路径下面。
第三步
在主机新建的虚拟环境中 ,执行安装
requirements.txt
的依赖:pip install --no-index --find-links=packages -r requirements.txt
到此依赖环境迁移结束
pip install pipreqs
安装这个依赖,可以导出项目中所需要的依赖包 :pipreqs ./
。这条命令可以直接生成项目中所有用到的第三方库。