从一台windows电脑拷贝整个python虚拟环境到另一台windows电脑/虚拟环境拷贝

创建指定python版本的虚拟环境参考:http://t.csdn.cn/sc28Y

前言

我在一台电脑上搭建了干净的python虚拟环境,只安装了需要的包,是为了避免打包的时候太大。
现在我想要在另外一台电脑上也用这个虚拟环境跑项目,直接拷贝整个虚拟文件夹会有路径问题,而且本地也没有相同的python版本也不行。

网上找了一圈也没办法。所以,下面是我自己用的办法,也成功了,供参考。

思路很简单,狸猫换太子:创建一个新的虚拟环境,然后把第三方库替换掉。

操作:安装同版本python+拷贝虚拟环境中的第三方包

首先,我的情况:

pycharm 中安装和开启了虚拟环境。虚拟环境文件夹叫 venv:
从一台windows电脑拷贝整个python虚拟环境到另一台windows电脑/虚拟环境拷贝_第1张图片
想把 venv 拷贝到 新电脑上用。

1. 安装python版本

在新电脑上,先下载一个一键安装的python版本,当然,版本最好和原来的相同。
选择自定义安装,不要勾选环境变量(避免影响本地原来的python),自定义存放路径: D 盘随意建了一个文件夹py3912存放:
从一台windows电脑拷贝整个python虚拟环境到另一台windows电脑/虚拟环境拷贝_第2张图片

2. 创建虚拟环境

创建虚拟环境参考:http://t.csdn.cn/sc28Y

3. 拷贝虚拟环境文件

将虚拟环境中的 Lib\site-package 整个拷贝过来。
site-package 下保存的就是第三方库。
直接拷贝site-packages,覆盖第二步创建的虚拟环境中的 site-packages 文件夹
从一台windows电脑拷贝整个python虚拟环境到另一台windows电脑/虚拟环境拷贝_第3张图片
遇到重复的文件,跳过该文件(我们尽量保存原环境)

4. 激活虚拟环境

进入目录运行 bat脚本:
在这里插入图片描述
如果你报错如下:
在这里插入图片描述
说明这台设备还没有激活过虚拟环境。

按照如下步骤操作,再激活即可:
1.win + R 运行 powershell
2.依次执行如下命令:

Start-Process powershell -Verb runAs  # 切换管理员运行
Get-ExecutionPolicy -List
set-executionpolicy remotesigned    # 这里要输入大写的 'Y'
Get-ExecutionPolicy -List

如下:
从一台windows电脑拷贝整个python虚拟环境到另一台windows电脑/虚拟环境拷贝_第4张图片
3.再次去执行激活脚本。
在这里插入图片描述
启动成功。
然后重开 terminal ,发现并没有切换到新的虚拟环境。

5. 为 Pycharm 配置虚拟环境

前四步其实已经把虚拟环境拷贝完成,并且激活了。
而如果你和我一样用 Pycharm 调试代码。则需要配置 Pycharm。

1.配置解释器

File->Settings->输入 interpreter,配置解释器,也就是找到刚才新建的虚拟环境路径中的 python.exe 所在。
从一台windows电脑拷贝整个python虚拟环境到另一台windows电脑/虚拟环境拷贝_第5张图片
图中已经可以看到,这些 Django 的包刚才都是没有安装的,现在却列在这里,说明我们直接拷贝第三方库的办法是可行的。

2.配置运行环境

从一台windows电脑拷贝整个python虚拟环境到另一台windows电脑/虚拟环境拷贝_第6张图片
选择刚才的解释器即可。
再次激活(不用再次应该也行)
重开Terminal 可见命令输入行的前缀变成虚拟环境的名字的:
从一台windows电脑拷贝整个python虚拟环境到另一台windows电脑/虚拟环境拷贝_第7张图片
至此,虚拟环境就从一台电脑,拷贝到了另一台。运行一下看。

我的项目完美运行无报错:
从一台windows电脑拷贝整个python虚拟环境到另一台windows电脑/虚拟环境拷贝_第8张图片

哈哈哈哈,开心得笑出猪叫。

其实这种需要无限复制的情况,可以考虑用 docker 做一个 image,以后就不用每次都在新电脑配置了。但我的项目有点特殊,需要保存一些数据到本地,所以没做。

你可能感兴趣的:(windows,python,pycharm,软件构建,django,virtualenv)