Python依赖包离线迁移至断网环境完整指南

陆遥
陆遥
发布时间:2026-10-14| 5人浏览过
原创

本文详解在Windows环境下,如何将Python虚拟环境中的依赖包迁移至无法联网的高性能主机。通过pip freeze导出依赖列表,利用pip download下载离线包,并结合pip install --no-index完成离线安装。同时介绍使用pipreqs精准提取项目依赖的方法及常见编码错误解决方案,适用于Python3.6等版本。

Python依赖包离线迁移场景与问题

场景:由于个人电脑A性能受限,需将Python程序迁移至一台高性能主机B运行,但该主机B处于断网状态,无法直接访问互联网。

问题:在个人电脑A上已创建虚拟环境并安装相关依赖包,程序经调试可正常运行。然而,直接将虚拟环境文件夹复制至主机B后,程序无法执行。

环境:Windows操作系统、Python3.6版本。

基于pip freeze的离线迁移步骤

解决办法:

1. 在主机A(确保虚拟环境已激活)执行命令:pip freeze >requirements.txt,将虚拟环境中安装的所有Python依赖包列表保存至requirements.txt文件。

2. 在主机A(确保虚拟环境已激活)执行命令:pip download -r requirements.txt -d packages,将requirements.txt中列出的Python依赖包下载并保存至packages目录。

3. 在主机B上预先安装好Python3.6环境。

4. 在主机B的项目目录下创建并激活虚拟环境。随后,将包含依赖包的packages文件夹及requirements.txt文件复制粘贴至主机B的项目目录下。

5. 在主机B(确保虚拟环境已激活)执行命令:pip install --no-index --find-links=packages -r requirements.txt,在主机B的虚拟环境中离线安装requirements.txt所列的依赖包。

Python依赖库导出方法详解

补充知识:如何导出Python项目所需的依赖库或整个环境的库。

方法一:使用pip freeze。

命令示例:pip freeze > requirements.txt

该命令会导出当前环境中安装的所有第三方包,通常在虚拟环境中使用此方式较为便捷。

安装命令:

命令示例:pip install -r requirements.txt

使用pipreqs精准提取项目依赖

方法二:使用pipreqs。

若希望在正常环境下精准提取项目实际使用的第三方库,推荐使用pipreqs工具。

第一步:安装pipreqs。

命令示例:pip install pipreqs

使用方法简单,直接运行:pipreqs 路径名。

此处直接进入项目根目录,因此路径参数为./。

命令示例:pipreqs ./

执行后即可直接生成该项目所依赖的第三方库列表。

pipreqs常见编码错误及修复

若遇到报错:

File "c:\users\devtao\appdata\local\programs\python\python36-32\lib\site-packages\pipreqs\pipreqs.py", line 341, in init extra_ignore_dirs=extra_ignore_dirs) File "c:\users\devtao\appdata\local\programs\python\python36-32\lib\site-packages\pipreqs\pipreqs.py", line 75, in get_all_imports contents = f.read() UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 186: illegal multibyte sequence

解决方法:在安装的pipreqs.py文件中,找到第74行左右,将encoding参数修改为'utf-8'。

以上即为Python依赖包迁移至断网环境的完整操作指南,希望能为读者提供参考。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。