Python 虚拟环境配置
本文最后更新于 2025年5月30日
Python 有个令人头痛的问题:不同项目之间的依赖包版本不一致,而 pip 只允许一种版本的包被安装在全局环境中,导致可能不小心升级了某个包,其他项目无法运行了。
我们可以使用虚拟环境来解决这个问题。目前有以下几种主流的解决方案:
venv
uv venv
virtualenv
conda
- ……
venv
venv
是 Python 3.3 版本后自带的虚拟环境工具,优点是简单易用,缺点是功能相对较少,且不支持本机未安装的 Python 版本。
创建、激活和删除
创建虚拟环境
1
python3 -m venv <env_name>
其中
<env_name>
是你想要创建的虚拟环境的名称,习惯上使用.venv
。激活 & 取消激活
在 Linux 和 macOS 上:
1
source <env_name>/bin/activate
在 Windows 上:
1
<env_name>\Scripts\Activate.ps1
激活后在命令行前面会出现虚拟环境的名称,表示当前处于该虚拟环境中。
取消激活:
1
deactivate
或直接关闭终端窗口。
删除虚拟环境
直接删除虚拟环境目录即可。
安装包
在虚拟环境中使用 pip
安装包,安装的包只会在当前虚拟环境中可用。
1 |
|
如果报错 Fatal error in launcher: Unable to create process using ...
,尝试:
删除
<env_name>/Libs/site-packages/pip
目录在激活的终端执行:
1 |
|
- 重新安装需要的包
使用他人的虚拟环境
拿到他人的虚拟环境时,进入虚拟环境目录,打开 pyvenv.cfg
文件。
把 home
的值改为你本机的 Python 安装路径,executable
的值改为你本机的 Python 可执行文件路径,command
的值也相应地进行修改。
uv venv
uv venv
是 uv
的一个子命令,需要先 pip install uv
。主要优点是快,缺点是不支持 Python 3.7 以下版本。
创建、激活和删除
创建与激活
1
2
3
4
5
6# 创建默认虚拟环境
uv venv
# 创建指定名称的虚拟环境
uv venv <env_name>
# 创建指定名称和 Python 版本的虚拟环境
uv venv -p <python_version> <env_name>删除
删除虚拟环境目录即可。
安装包
在 pip
指令前加上 uv
即可:
1 |
|
其他
uv
还提供了一些比较实用的功能:
uv run <script>
:运行指定的 Python 脚本,自动激活虚拟环境。uvx <package_name>
:在不安装包的情况下运行该包uv python install <python_version>
:安装指定版本的 Pythonuv python list
:列出已安装的 Python 版本
详见官方文档