Python 虚拟环境管理

什么是 Python 虚拟环境

所谓 Python 虚拟环境,就是指一个个独立的 Python 运行环境,用于隔离不同项目的依赖包,避免版本冲突。通俗的说,你可以把 Python 虚拟环境看作是一个又一个的小房间,在这个小房间中做出的任何行为,都不会影响到其他房间。

这三个房间里有什么东西呢?主要包含三个部分:

  • Python 解释器,用于运行代码
  • 一个激活脚本,相当于这个房间的钥匙,只有运行了激活脚本,才能激活虚拟环境
  • 一个工具箱,也就是第三方包。在这个环境下,安装或者删除第三方包对其他环境都不会有影响

venv 虚拟环境为例,当我们使用 venv 创建一个虚拟环境后

# 创建名为 venv 的虚拟环境(Python 3.8+)
python -m venv venv

会在当前目录下创建一个名为 venv的目录,目录中主要包含以下文件结构,其中 site-packages 目录主要存放第三方包,Scripts 目录下存放着 Python 解释器和激活脚本(注 Linux 或 macOS 会创建 Bin 目录,存放 Python 解释器、pip 等可执行文件)

|–Include

|–Lib

|-----------site-packages 存储第三方包

|---------------------------------pip

|---------------------------------pip-24.3.1.dist-info

|–Scripts Windows 环境下创建

|-----------python.exe Liux 环境存在 Bin 目录中

|-----------activate.bat 激活脚本

有了这样一个虚拟环境后,当我们同时负责多个项目,且不同项目中依赖的第三方包不同或第三方包的版本不同时,就可以为不同的项目分别创建虚拟环境,达到环境隔离的目的。那么该如何使用 Python 环境呢。

如何使用 Python 虚拟环境

以下将以 Python 自带的虚拟环境管理工具 venv为例,介绍如何使用 Python 虚拟环境。后续我们也会介绍其他虚拟环境管理工具,以及它们之间的异同。

1. 创建虚拟环境

# 基本命令(会在当前目录生成 `venv` 文件夹)
python -m venv 虚拟环境目录名

# 示例:创建名为 `myenv` 的虚拟环境
python -m venv myenv

可选参数
--system-site-packages:允许虚拟环境访问系统全局安装的包(默认禁用)。

--prompt "提示文本":自定义虚拟环境激活后的提示符名称。

python -m venv myenv --prompt "我的项目"

2. 激活虚拟环境

Windows

# CMD
虚拟环境目录名\Scripts\activate.bat

# PowerShell
虚拟环境目录名\Scripts\Activate.ps1  # 需先允许脚本执行(见下方问题解决)

Linux/macOS

source 虚拟环境目录名/bin/activate

**激活后:**命令行提示符会显示环境名称(如 (myenv))。


3. 使用虚拟环境

安装/管理依赖

# 查看已安装的包
pip list

# 安装包(仅影响当前虚拟环境)
pip install 包名

# 从 requirements.txt 安装所有依赖
pip install -r requirements.txt

# 生成当前环境的依赖列表
pip freeze > requirements.txt

运行 Python 程序

# 虚拟环境下直接使用 `python` 命令
python your_script.py

4. 退出虚拟环境

deactivate

5. 删除虚拟环境

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

# Windows
rmdir /s /q myenv

# Linux/macOS
rm -rf myenv

6. 最佳实践

  • 每个项目独立环境:避免依赖冲突。
  • 记录依赖:定期更新 requirements.txt
  • 使用轻量工具:
    • 需要更复杂功能时,可选用 virtualenvconda

总结:Python 虚拟环境可以隔离不同项目的依赖包,避免版本冲突,保持全局环境干净,确保项目可移植性和一致性。熟练使用 Python 虚拟环境,是 Python 学习从入门迈向精通的必经之路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值