介绍
Python 的虚拟环境是一种工具,用于创建一个独立的、隔离的 Python 运行环境,使得不同项目之间的依赖和库不会相互干扰。虚拟环境允许开发者在同一台机器上同时运行多个项目,每个项目可以有自己的依赖包版本,而不影响全局 Python 环境或其他项目。
- 隔离性:
- 每个虚拟环境都有自己的 Python 解释器和库,确保项目之间的依赖不会冲突。例如,一个项目可以使用
Django 2.x
,而另一个项目可以使用Django 3.x
,它们不会相互影响。
- 每个虚拟环境都有自己的 Python 解释器和库,确保项目之间的依赖不会冲突。例如,一个项目可以使用
- 便于管理依赖:
- 虚拟环境使得管理项目依赖变得更加简单。你可以在每个虚拟环境中安装特定版本的库,而不必担心影响其他项目。
- 简化部署:
- 在开发和生产环境中使用相同的虚拟环境可以减少因依赖版本不一致而导致的问题。你可以将虚拟环境的依赖列表(通常是
requirements.txt
文件)与项目一起共享,确保在不同环境中安装相同的库。
- 在开发和生产环境中使用相同的虚拟环境可以减少因依赖版本不一致而导致的问题。你可以将虚拟环境的依赖列表(通常是
- 易于创建和删除:
- 创建和删除虚拟环境非常简单,通常只需几条命令。你可以根据需要随时创建新的虚拟环境,或者删除不再使用的环境。
示例
virtualenv
是一个用于创建独立 Python 环境的工具
sudo pip3 install virtualenv # 安装
virtualenv spacy_env 创建虚拟环境,创建完成后会在当前目录下生成一个新的目录spacy_env,其中包含独立的 Python 解释器和库
source spacy_env/bin/activate # 激活虚拟环境
pip install spacy # 安装依赖,这里安装的是 spacy
pip list #查看已安装的库
python -m spacy download zh_core_web_sm
pip install snownlp
python test.py
deactivate # 停用虚拟环境
rm -rf spacy_env # 如果你不再需要某个虚拟环境,可以直接删除其文件夹
virtualenv -p /usr/bin/python3.8 myenv # 如果你有多个 Python 版本,可以指定使用的版本