目录
4 方法四:用 pipreqs 生成最小依赖(更“轻”的requirements)
1 方法一:使用 requirements.txt
1.1 步骤:
在服务器A:
# 激活虚拟环境
source path_to_env/bin/activate
# 导出依赖
pip freeze > requirements.txt
接着把 requirements.txt
拷贝到服务器B上;
在服务器B:
# 创建新虚拟环境
python -m venv envA
source envA/bin/activate
# 安装依赖
pip install -r requirements.txt
1.2 优缺点:
这种方式简单通用,唯一的问题是,如果某些包版本装不下来,可能要调一调版本。
2 方法二:使用 conda
环境导出
2.1 步骤:
在服务器A:
conda activate myenv
conda env export > environment.yml
然后在服务器B:
conda env create -f environment.yml
2.2 优缺点:
这个方法可以导出 Python 版本、包以及 pip 安装的包,更完整些,但也可能面临库版本冲突问题,可以手动调整(调整后把虚拟环境删除后重新尝试)
3 方法三:直接打包整个虚拟环境
3.1 步骤:
1. 在服务器A打包虚拟环境:
tar -czf envA.tar.gz path_to_virtualenv/
2. 拷贝到服务器B
3. 在服务器B解压并使用:
tar -xzf envA.tar.gz
source path_to_virtualenv/bin/activate
3.2 优缺点:
适合网络不稳定,或包安装比较麻烦的情况;
注意这种方式的虚拟环境路径要尽量保持一致,或修改 bin/activate
脚本中的路径信息(或用相对路径)。
4 方法四:用 pipreqs
生成最小依赖(更“轻”的requirements)
如果你只想把“你代码需要用到的包”导出,而不是整个虚拟环境中装的所有包:
pip install pipreqs
pipreqs /your/project/path --force
它会自动扫描代码中 import
的模块,只生成你项目需要的依赖,生成一个简化的 requirements.txt
。