venv是Python 内置的用于创建虚拟环境的工具,它可以为每个项目创建一个独立的 Python 环境,避免不同项目之间的依赖冲突。虚拟环境允许每个项目拥有自己的依赖库,而不影响全局的 Python 环境。它是管理 Python 项目依赖和避免版本冲突的重要工具。
python的虚拟环境总有两款:anaconda和venv,anaconda是一个跨平台的python发行版,提供了用于科学计算和数据分析大量的库和工具,有着复杂的依赖项解析和环境管理能力,这个风云以后再单独详细介绍,今天主要讲python内置的venv。
创建虚拟环境
venv 是 Python 3.3 及以上版本自带的模块,因此无需安装任何额外的库。
# python -m venv <env_name>
python -m venv myenv
myenv 目录会包含以下内容
- bin/:包含虚拟环境中的可执行文件(如 Python、pip)。
- lib/:包含虚拟环境的 Python 库。
- pyvenv.cfg:虚拟环境的配置文件,包含 Python 版本等信息。
激活虚拟环境
# 在 Windows 系统中
myenv\Scripts\activate
# 在 Linux 或 macOS 系统中
source myenv/bin/activate
使用虚拟环境
安装依赖库
# python --version
pip install requests
升级虚拟环境中的依赖
pip install --upgrade requests
# 升级所有依赖库
pip install --upgrade -r requirements.txt
运行 Python 程序
python my_script.py
- 安装库:pip install
- 升级库:pip install --upgrade
- 卸载库:pip uninstall
退出虚拟环境
退出虚拟环境可以使用 deactivate 命令。退出后,你的终端将恢复到全局 Python 环境。 执行该命令后,你会看到命令行中的 (myenv) 消失,表示已经退出虚拟环境。
deactivate
删除虚拟环境
如果你想删除虚拟环境,只需删除你创建它的目录(在这个例子中是myenv目录)即可。
# 在Windows上
rm -r myenv/
导出和导入虚拟环境的依赖
导出虚拟环境的依赖
使用 pip freeze 命令可以导出当前虚拟环境中已安装的所有依赖库,并保存为 requirements.txt 文件。该文件可以用于在其他环境中重现相同的依赖。
pip freeze > requirements.txt
在其他环境中安装依赖
在其他机器或虚拟环境中,可以使用 requirements.txt 文件安装相同的依赖
pip install -r requirements.txt
退出python的命令
- 使用exit()函数
- 使用quit()函数
- 使用Ctrl+Z然后回车(在Windows中)
- 使用Ctrl+D(在Unix, Linux, macOS中)