Python 虚拟环境配置

本文最后更新于 2025年5月30日

Python 有个令人头痛的问题:不同项目之间的依赖包版本不一致,而 pip 只允许一种版本的包被安装在全局环境中,导致可能不小心升级了某个包,其他项目无法运行了。

我们可以使用虚拟环境来解决这个问题。目前有以下几种主流的解决方案:

  • venv
  • uv venv
  • virtualenv
  • conda
  • ……

venv

venv 是 Python 3.3 版本后自带的虚拟环境工具,优点是简单易用,缺点是功能相对较少,且不支持本机未安装的 Python 版本。

创建、激活和删除

  1. 创建虚拟环境

    1
    python3 -m venv <env_name>

    其中 <env_name> 是你想要创建的虚拟环境的名称,习惯上使用 .venv

  2. 激活 & 取消激活

    在 Linux 和 macOS 上:

    1
    source <env_name>/bin/activate

    在 Windows 上:

    1
    <env_name>\Scripts\Activate.ps1

    激活后在命令行前面会出现虚拟环境的名称,表示当前处于该虚拟环境中。

    取消激活:

    1
    deactivate

    或直接关闭终端窗口。

  3. 删除虚拟环境

    直接删除虚拟环境目录即可。

安装包

在虚拟环境中使用 pip 安装包,安装的包只会在当前虚拟环境中可用。

1
pip install <package_name>

如果报错 Fatal error in launcher: Unable to create process using ...,尝试:

  1. 删除 <env_name>/Libs/site-packages/pip 目录

  2. 在激活的终端执行:

1
2
python -m ensurepip
python -m pip install --upgrade pip
  1. 重新安装需要的包

使用他人的虚拟环境

拿到他人的虚拟环境时,进入虚拟环境目录,打开 pyvenv.cfg 文件。

home 的值改为你本机的 Python 安装路径,executable 的值改为你本机的 Python 可执行文件路径,command 的值也相应地进行修改。

uv venv

uv venvuv 的一个子命令,需要先 pip install uv。主要优点是快,缺点是不支持 Python 3.7 以下版本。

创建、激活和删除

  1. 创建与激活

    1
    2
    3
    4
    5
    6
    # 创建默认虚拟环境
    uv venv
    # 创建指定名称的虚拟环境
    uv venv <env_name>
    # 创建指定名称和 Python 版本的虚拟环境
    uv venv -p <python_version> <env_name>
  2. 删除

    删除虚拟环境目录即可。

安装包

pip 指令前加上 uv 即可:

1
uv pip install <package_name>

其他

uv 还提供了一些比较实用的功能:

  • uv run <script>:运行指定的 Python 脚本,自动激活虚拟环境。
  • uvx <package_name>:在不安装包的情况下运行该包
  • uv python install <python_version>:安装指定版本的 Python
  • uv python list:列出已安装的 Python 版本

详见官方文档


Python 虚拟环境配置
https://refrain69.pages.dev/py-virtual-env/
发布于
2025年5月13日
更新于
2025年5月30日
许可协议