python虚拟环境拷贝到另一台电脑

背景介绍:
建立了虚拟环境后,在其中安装的包很多,也很费时间,你想将这个MyApp放到其他电脑上去开发,是不是直接复制MyApp文件夹就可以了呢? 不行!因为在建立虚拟环境时,虚拟环境中的python.exe, pip.exe......等一些文件会“硬编码”,记录的是绝对路径,放到其他电脑后,因为路径不同会出错!

有以下几个解决方法:

  1. 在服务器上,直接新建一个虚拟环境,添加配置和包。参考:

http://kuanghy.github.io/2015/12/04/virtualenv

https://www.cnblogs.com/wangzhihang/p/12365990.html

  1. 在服务器上卸载该版本python,安装本机使用的python版本(不推荐)

3.在服务器上安装conda,用conda创建虚拟环境

4.可以迁移,但要有必要的操作:

Python 3.6.8可以用自带的命令建立虚拟环境,不用安装另外的如 virtualenv、virtualenvwrapper等工具。

创建虚拟环境 python -m venv MyApp
在使用 python -m venv 命令创建虚拟环境时,虚拟环境的路径默认会在当前工作目录下的一个名为 venv 的文件夹中。
例如,如果您在 /home/user/project 目录下运行 python -m venv venv 命令,则会在 /home/user/project/venv 目录中创建虚拟环境。
您也可以自定义虚拟环境的路径。例如,运行 python -m venv /path/to/venv 命令将在指定路径下创建虚拟环境。
后续如果要激活使用虚拟环境 linux mac source MyApp/bin/activate ,window上 MyApp\Scripts\activate
采用的方法是导出安装的包,在另一台电脑新建虚拟环境,再将包导入到新建的虚拟环境。

1、输出虚拟环境中已安装包的名称及版本号并记录到 requirements.txt 文件中:

(MyApp)xxx> pip freeze > requirements.txt
2、将安装的包保存到文件夹(名字任意起,如packages)里:

(MyApp) xxx> pip download -d mypackages -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
3、在另一台电脑新建虚拟环境 :
python -m venv MyApp

将 requirements.txt 和 packages 复制到虚拟环境里,激活虚拟环境后安装包:

(MyApp) yyy> pip install --no-index --find-links=./mypackage/ --no-cache-dir -r requirements.txt
4、退出虚拟环境 deactivate

posted @ 2023-07-27 19:24  零哭谷  阅读(1153)  评论(0编辑  收藏  举报