Skip to content
字数
1127 字
阅读时间
5 分钟

Python虚拟环境venv使用教程

在Python开发中,为不同的项目创建一个独立的环境至关重要,这可以避免不同项目间的依赖包版本冲突。Python 3.3及更高版本内置了venv模块,可以轻松创建和管理轻量级的虚拟环境。本教程将详细介绍如何使用venv

为什么需要虚拟环境?

想象一下,你的电脑上同时在进行两个项目:项目A需要使用版本为1.0的某个库,而项目B则需要同一个库的2.0版本。如果在全局环境中安装,这两个版本就会产生冲突,导致其中一个项目无法正常运行。

虚拟环境的出现解决了这个问题。它为每个项目创建一个隔离的Python运行环境,每个环境都有自己独立的解释器、库和脚本。这样,你就可以在项目A的环境中安装1.0版本的库,在项目B的环境中安装2.0版本的库,两者互不干扰。

venv 使用步骤

1. 创建虚拟环境

首先,打开你的终端(在Windows上是命令提示符或PowerShell,在macOS和Linux上是Terminal),然后进入你的项目目录。运行以下命令来创建一个虚拟环境:

bash
python -m venv <虚拟环境名>

通常,我们会将虚拟环境命名为venv.venv。例如:

bash
python -m venv venv

执行完毕后,你会在项目目录下看到一个名为venv的新文件夹,其中包含了Python解释器的副本以及其他相关文件。

2. 激活虚拟环境

创建虚拟环境后,你需要激活它才能进入这个独立的环境。

  • Windows:

    bash
    .\venv\Scripts\activate
  • macOS 和 Linux:

    bash
    source venv/bin/activate

激活成功后,你会在终端的提示符前看到虚拟环境的名称,例如 (venv)。这表示你当前正处于该虚拟环境中,之后所有关于Python和pip的操作都将局限于此环境。

3. 在虚拟环境中安装包

激活虚拟环境后,你可以像平常一样使用pip来安装项目所需的库。这些库将被安装到当前虚拟环境的site-packages目录下,而不会影响到全局Python环境。

例如,安装一个名为requests的库:

bash
pip install requests

你可以使用以下命令查看当前虚拟环境中已安装的包:

bash
pip list

或者

bash
pip freeze

4. 生成和使用requirements.txt

为了方便地在其他地方或其他开发者电脑上复现同样的环境,通常我们会将项目的所有依赖包及其版本号记录在一个名为requirements.txt的文件中。

  • 生成requirements.txt文件: 在激活的虚拟环境中,运行以下命令,它会自动将当前环境中所有已安装的包及其版本信息输出到requirements.txt文件中。

    bash
    pip freeze > requirements.txt
  • 使用requirements.txt安装依赖: 当其他人拿到你的项目后,他们只需创建一个新的虚拟环境,激活后运行以下命令,即可一次性安装所有在requirements.txt中声明的依赖包。

    bash
    pip install -r requirements.txt

5. 退出虚拟环境

当你完成了在虚拟环境中的工作,想要回到全局Python环境时,只需运行以下命令:

bash
deactivate

执行后,终端提示符前的虚拟环境名称将会消失。

最佳实践

  • 每个项目一个环境: 为你的每个Python项目都创建一个独立的虚拟环境,以保持依赖的隔离性。
  • 记录依赖: 在项目中始终维护一个requirements.txt文件,并在安装或更新包后及时更新它。
  • 不要将虚拟环境纳入版本控制: 将虚拟环境的文件夹(例如venv)添加到你的.gitignore文件中,避免将其提交到Git等版本控制系统中。
  • 清晰命名: 使用有意义的名称来命名你的虚拟环境,方便识别。

贡献者

页面历史