发布于2026-06-01 阅读(0)
扫一扫,手机访问
Windows10 教育版64位Python 3.10.6深度学习的环境配置,一直是很多开发者的心头之痛。尤其是多模态模型大规模普及的今天,需要的依赖包、模型文件越来越多,怎么把已经布好的环境快速迁移到其他地方?这绝对是个烧脑的问题。
传统思路很简单:pip freeze把当前环境里的包清单导出,然后再在新环境里用pip install -r requirements.txt逐一装回来。但说实话,这个路子有几个让人头疼的短板——
2MB/S,装个依赖包要等到地老天荒;那能不能换个思路:直接把已经配置好的venv虚拟环境搬过去,而不是从零开始重新pip install一遍?
有经验的朋友可能马上想到——直接整个把老环境的venv目录复制到新位置不就行了吗?理论上很简单,但实际一试就知道坑在哪里。
直接复制后,你虽然运行 venv\Scripts\activate 能激活新的虚拟环境,但本质上它指向的还是老环境的Python路径。不信?我们验证一下:激活新环境,然后输入where python看看:

注:
venv路径:E:\Code\Python\Git\stable-diffusion-webuiE:\Code\Python\Git\kohya_ss更有意思的是,当你输入where pip时,返回的路径看起来是新venv的目录:

但实际pip运行时,依然调用的老venv里的pip:

这就意味着,你在新环境里想装其他版本的包,实际却在篡改老环境的包管理器——一不小心就会让两者都崩溃。结果折腾半天,复制了个寂寞,还白白浪费硬盘空间!
问题根源在于:复制过程中,老环境中的路径硬编码没有被更新。要解决,其实只需要把这些文件里的路径重新指向新环境就行了。
1. 修改 venv\pyvenv.cfg 文件里的 home 字段,将其指向新venv所用的Python安装路径:

比如我这边使用conda安装了Python,就把紫色框中的路径修改成:E:\Code\Python\Git\kohya_ss\conda\py3106。如果是独立下载Python安装包,直接改为Python的安装路径即可。
2. 修改 venv\Scripts\activate 文件中的 VIRTUAL_ENV 变量,指向新的venv路径:

例如:VIRTUAL_ENV="E:\Code\Python\Git\kohya_ss\venv"
3. 修改 venv\Scripts\activate.bat 中的 VIRTUAL_ENV 变量:

例如:set VIRTUAL_ENV=E:\Code\Python\Git\kohya_ss\venv
完成后,再输入 where python 就能看到路径已经改为新环境了:

4. 重新安装pip(这一步至关重要,不然pip install还是会指向老环境;如果不重新安装,就只能靠python -m pip来强制在新环境里安装包)
先激活新venv,然后卸载旧pip:
python -m pip uninstall pip
再重新安装pip。可以到官网下载pip安装包手动装,但比较麻烦,推荐用内置命令:
python -m ensurepip --default-pip
注:如果你的Python版本太老(比如低于3.4),ensurepip可能不支持。这种情况下需要手动下载 get-pip.py(https://bootstrap.pypa.io/get-pip.py)来安装,注意选择与Python版本匹配的脚本,否则会报版本不兼容的错误:
ERROR: This script does not work on Python 3.6 The minimum supported Python version is 3.7. Please use https://bootstrap.pypa.io/pip/3.6/get-pip.py instead.

最后把pip升级到最新:
python -m pip install --upgrade pip
现在再检查一下,where pip 和 pip --version 应该都指向新环境了:

1. 激活老环境,然后用以下命令把标准库文件复制到新虚拟环境:
python -m venv --copies E:\Code\Python\Git\test\venv
2. 把老环境的 venv\Lib\site-packages 目录,整个复制到新环境的对应位置下(可以先把新环境的site-packages删掉再复制)。
注:如果你是单独通过conda创建的Python环境,还需要像方法1那样,修改venv\pyvenv.cfg里的home路径。
这种方法相对简单,而且不容易改错路径指向:

假设要复制的老环境是 E:\Code\Python\Git\test\venv1,目标新环境是 E:\Code\Python\Git\test2\venv2,直接运行:
virtualenv-clone E:\Code\Python\Git\test\venv1 E:\Code\Python\Git\test2\venv2
然后用文本编辑器打开新环境中的 activate 脚本,将 $VIRTUAL_ENV 变量改为 E:\Code\Python\Git\test2\venv2。不过这个方法在Windows系统下有兼容性问题(比如不支持Python 3.8以上版本),慎用!
处理好之后,新老环境完全隔离:安装、更新包互不影响。最关键的是——不用连网,不用跑 pip install 重装所有包了!
这样一来,环境迁移的痛点基本解决。常见的场景:去离线环境部署、给同事提供完全相同环境、跨机器复制开发环境……都可以用这套方法快速搞定。
下一篇:Go语言exec包的具体使用
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8