Python虚拟环境那些事儿(一文读懂)

虚拟环境详解

在 Python 中,使用虚拟环境(virtual environment)是一种管理项目依赖和隔离项目环境的最佳实践。venvvirtualenv 都是用于创建虚拟环境的工具,虽然它们有些相似,但 venv 是 Python 3.3 版本开始自带的标准库,而 virtualenv 是一个第三方工具,适用于 Python 2 和 3。

下面是关于 venvvirtualenv 的详细介绍,包括创建、激活、退出等操作:

1. 使用 venv 创建虚拟环境

venv 是 Python 3.3 及以后的版本自带的模块,用于创建虚拟环境。它是官方推荐的创建虚拟环境的方式。

1.1 创建虚拟环境

首先,确保你使用的 Python 版本 >= 3.3。

  1. 打开命令行/终端。
  2. 切换到你的项目目录,或者你希望存放虚拟环境的目录。
  3. 使用以下命令创建虚拟环境:
python3 -m venv myenv

其中,myenv 是你想要创建的虚拟环境的目录名(你可以自定义名称)。该命令会创建一个新的目录 myenv,并在其中包含 Python 解释器和一个独立的包管理环境。

1.2 激活虚拟环境
  • 在 Windows 上
myenv\Scripts\activate
  • 在 macOS 和 Linux 上
source myenv/bin/activate

激活后,你会看到命令行提示符前面加上了虚拟环境的名字(如 (myenv)),表示当前的环境已经切换到虚拟环境。

1.3 安装依赖包

激活虚拟环境后,你可以使用 pip 来安装依赖包,而这些依赖包只会安装在当前虚拟环境中,而不会影响系统的全局 Python 环境。

pip install <package_name>

例如,安装 requests 库:

pip install requests
1.4 退出虚拟环境

完成工作后,你可以通过以下命令退出虚拟环境:

deactivate

退出后,你的命令行会返回到系统的 Python 环境。

2. 使用 virtualenv 创建虚拟环境

virtualenv 是一个第三方工具,适用于 Python 2 和 Python 3。它提供了一些额外的功能,比如创建独立的 Python 环境时支持不同的 Python 版本。

2.1 安装 virtualenv

在使用 virtualenv 之前,你需要先安装它。你可以通过 pip 来安装:

pip install virtualenv
2.2 创建虚拟环境

使用 virtualenv 创建虚拟环境与 venv 类似。首先进入到你希望存放虚拟环境的目录,然后运行:

virtualenv myenv

venv 类似,这将会在 myenv 目录中创建一个新的虚拟环境。你还可以指定 Python 版本(如果你有多个 Python 版本):

virtualenv -p /usr/bin/python3.8 myenv

这将创建一个使用 Python 3.8 的虚拟环境。

2.3 激活虚拟环境
  • 在 Windows 上
myenv\Scripts\activate
  • 在 macOS 和 Linux 上
source myenv/bin/activate
2.4 安装依赖包

激活虚拟环境后,你可以使用 pip 安装依赖包。例如,安装 requests 库:

pip install requests
2.5 退出虚拟环境

venv 一样,你可以通过以下命令退出虚拟环境:

deactivate
3. 虚拟环境的目录结构

不论是使用 venv 还是 virtualenv 创建虚拟环境,虚拟环境的目录结构大体是相同的。

  • Windows
myenv/
    Scripts/
        activate
        pip.exe
        python.exe
    Lib/
        site-packages/
  • macOS/Linux
myenv/
    bin/
        activate
        pip
        python
    lib/
        python3.x/
            site-packages/
4. 使用虚拟环境的优点
  1. 隔离环境:每个虚拟环境都有自己独立的 Python 解释器和安装的包,不会与其他项目冲突。
  2. 简化依赖管理:每个项目可以有不同的依赖版本,避免版本冲突。
  3. 可复制性:通过 requirements.txt 文件,团队成员可以确保每个人的开发环境一致。
5. 使用 requirements.txt 管理依赖

为了确保你的项目在不同机器上可以复现,你可以将项目的依赖包写入一个 requirements.txt 文件。在虚拟环境中,你可以使用 pip 导出当前环境的依赖:

pip freeze > requirements.txt

当其他人获取到你的项目后,他们只需要运行以下命令来安装所有依赖:

pip install -r requirements.txt
6. 删除虚拟环境

如果你不再需要某个虚拟环境,可以直接删除该虚拟环境的目录,例如:

rm -rf myenv
总结
  • venv 是 Python 3.3+ 自带的创建虚拟环境的工具,推荐用于 Python 3 项目。
  • virtualenv 是一个第三方工具,支持 Python 2 和 Python 3,提供一些额外功能。
  • 创建虚拟环境后,你可以使用 pip 安装和管理项目依赖,确保每个项目的依赖都被隔离。
  • 通过 deactivate 可以退出虚拟环境,回到系统的 Python 环境。

虚拟环境是 Python 开发中的最佳实践,能够大大简化包管理和版本控制,避免不同项目之间的依赖冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不做超级小白

大侠,喜欢的话可以打赏一下哦~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值