文章目录
- 在原始电脑上运行以下脚本: #!/bin/bash # 创建一个目录来存储 wheel 文件 mkdir python_packages # 创建 requirements.txt 文件 pip freeze > requirements.txt # 下载 wheel 文件 pip download -r requirements.txt -d python_packages # 可选:创建一个压缩文件 tar -czvf python_packages.tar.gz python_packages 执行后导出成功,如下图 导出成功的whl文件 将 python_packages 目录(或压缩文件)和 requirements.txt 传输到新电脑。 在新电脑上安装依赖包: pip install –no-index –find-links=python_packages -r requirements.txt
- 不需要网络连接就可以在新电脑上安装 确保版本完全一致
- 需要在原始电脑上下载所有包,可能耗时 占用较大存储空间
- 在原始电脑上运行以下 Python 脚本: import os import sys import shutil import subprocess from pathlib import Path import pkg_resources def create_wheel(package_name, output_dir): try: subprocess.run([sys.executable, “-m”, “pip”, “wheel”, “–no-deps”, “–wheel-dir”, output_dir, package_name], check=True) print(f”Successfully created wheel for {package_name}”) except subprocess.CalledProcessError: print(f”Failed to create wheel for {package_name}”) def main(): # 创建输出目录 output_dir = Path(“python_packages”) output_dir.mkdir(exist_ok=True) # 获取已安装的包 installed_packages = [dist.project_name for dist in pkg_resources.working_set] # 为每个包创建 wheel 文件 for package in installed_packages: create_wheel(package, str(output_dir)) # 创建 requirements.txt 文件 with open(“requirements.txt”, “w”) as f: for package in installed_packages: f.write(f”{package}=={pkg_resources.get_distribution(package).version}n”) print(“Process completed. Check the ‘python_packages’ directory for wheel files.”) print(“A ‘requirements.txt’ file has been created with the list of installed packages.”) if __name__ == “__main__”: main() 将生成的 python_packages 目录和 requirements.txt 文件传输到新电脑。 在新电脑上安装依赖包: pip install –no-index –find-links=python_packages -r requirements.txt
- 不需要重新下载已安装的包 确保提取的是与当前环境完全匹配的包版本 节省时间和带宽
- 可能无法处理某些需要在安装时编译的包 需要注意操作系统和 Python 版本的兼容性
目录
- 方法一:使用 requirements.txt
- 步骤:
- 优点:
- 缺点:
- 方法二:下载 wheel 文件
- 步骤:
- 优点:
- 缺点:
- 方法三:从本地已安装的包创建 wheel 文件
- 步骤:
- 优点:
- 缺点:
- 注意事项
在开发 Python 项目时,我们经常需要将项目环境从一台电脑迁移到另一台电脑。本教程将介绍三种不同的方法来实现这一目标,每种方法都有其特定的使用场景。
这是最简单和最常用的方法,适用于有网络连接的情况。
在原始电脑上导出依赖包:
pip freeze > requirements.txt
将 requirements.txt 文件传输到新电脑。
在新电脑上安装依赖包:
pip install -r requirements.txt
- 简单快捷
- 保证版本一致性
- 需要网络连接
- 可能需要较长时间下载
当新电脑没有网络连接时,这种方法很有用。
在原始电脑上运行以下脚本:
#!/bin/bash # 创建一个目录来存储 wheel 文件 mkdir python_packages # 创建 requirements.txt 文件 pip freeze > requirements.txt # 下载 wheel 文件 pip download -r requirements.txt -d python_packages # 可选:创建一个压缩文件 tar -czvf python_packages.tar.gz python_packages
执行后导出成功,如下图

导出成功的whl文件

将 python_packages 目录(或压缩文件)和 requirements.txt 传输到新电脑。
在新电脑上安装依赖包:
pip install --no-index --find-links=python_packages -r requirements.txt
- 不需要网络连接就可以在新电脑上安装
- 确保版本完全一致
- 需要在原始电脑上下载所有包,可能耗时
- 占用较大存储空间
当原始电脑已经安装了所需的包,并且想避免重新下载时,这种方法最为高效。
在原始电脑上运行以下 Python 脚本:
import os
import sys
import shutil
import subprocess
from pathlib import Path
import pkg_resources
def create_wheel(package_name, output_dir):
try:
subprocess.run([sys.executable, "-m", "pip", "wheel",
"--no-deps",
"--wheel-dir", output_dir,
package_name],
check=True)
print(f"Successfully created wheel for {package_name}")
except subprocess.CalledProcessError:
print(f"Failed to create wheel for {package_name}")
def main():
# 创建输出目录
output_dir = Path("python_packages")
output_dir.mkdir(exist_ok=True)
# 获取已安装的包
installed_packages = [dist.project_name for dist in pkg_resources.working_set]
# 为每个包创建 wheel 文件
for package in installed_packages:
create_wheel(package, str(output_dir))
# 创建 requirements.txt 文件
with open("requirements.txt", "w") as f:
for package in installed_packages:
f.write(f"{package}=={pkg_resources.get_distribution(package).version}n")
print("Process completed. Check the 'python_packages' directory for wheel files.")
print("A 'requirements.txt' file has been created with the list of installed packages.")
if __name__ == "__main__":
main()
将生成的 python_packages 目录和 requirements.txt 文件传输到新电脑。
在新电脑上安装依赖包:
pip install --no-index --find-links=python_packages -r requirements.txt
- 不需要重新下载已安装的包
- 确保提取的是与当前环境完全匹配的包版本
- 节省时间和带宽
- 可能无法处理某些需要在安装时编译的包
- 需要注意操作系统和 Python 版本的兼容性
- 在使用这些方法时,请确保原始电脑和新电脑的 Python 版本兼容。
- 如果使用虚拟环境(推荐),请确保在执行这些操作前激活正确的虚拟环境。
- 对于一些特殊的包(如需要编译的科学计算库),可能需要在新电脑上额外进行一些设置。
通过选择适合您具体情况的方法,您可以轻松地将 Python 项目环境从一台电脑迁移到另一台电脑。这不仅能节省时间,还能确保在不同环境中保持一致的开发体验。
以上就是Python项目环境迁移的三种方法的详细内容,更多关于Python项目环境迁移的资料请关注风君子博客其它相关文章!
您可能感兴趣的文章:
- 打包迁移Python env环境的三种方法总结
- python运行环境在新旧电脑间迁移的三种方法
- Python 虚拟环境迁移到其他电脑的实现
- Python虚拟环境迁移的实现
- Python venv虚拟环境跨设备迁移的实现