管理多个虚拟环境有助于维护 Python 项目的可靠性、稳定性和可维护性,特别是在开发多个项目或处理不同依赖关系的情况下。
这使得 Python 更加灵活,能够适应各种项目和需求。可以使用工具如 venv、virtualenv 或 conda
来创建和管理这些虚拟环境。
venv 和 conda 都是用于创建和管理虚拟环境的工具,但它们有一些区别,包括其用途、安装方式和支持的语言。以下是它们的主要区别:
内置虚拟环境管理器
,专门用于 Python 程序的虚拟环境创建和管理。venv 可用于创建和管理独立的 Python 环境,以隔离不同项目的依赖关系。以下是如何使用它的步骤:
#1.初始化空的项目:py_venv_test
py_venv_test % ls
#2. 创建myenv1
py_venv_test % python -m venv myenv1
#3.查看myevnv1目录结构
py_venv_test % tree -L 2
.
├── bin
│ ├── Activate.ps1
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── normalizer
│ ├── pip
│ ├── pip3
│ ├── pip3.9
│ ├── python -> python3
│ ├── python3 -> /Library/Developer/CommandLineTools/usr/bin/python3
│ └── python3.9 -> python3
├── include
├── lib
│ └── python3.9
│ └── site-packages
└── pyvenv.cfg
#4. activate
py_venv_test % source myenv1/bin/activate
#5. 安装第三方包
(myenv1) py_venv_test % pip install bs4
(myenv1) py_venv_test % pip install lxml
(myenv1) py_venv_test % pip install requests pyyaml
#6.输出第三方包到requirements.txt
(myenv1) py_venv_test % pip freeze > requirements.txt
(myenv1) py_venv_test % cat requirements.txt
beautifulsoup4==4.12.2
bs4==0.0.1
certifi==2023.7.22
charset-normalizer==3.3.1
idna==3.4
lxml==4.9.3
PyYAML==6.0.1
requests==2.31.0
soupsieve==2.5
urllib3==2.0.7
#7.退出myenv1
(myenv1) py_venv_test % deactivate
#8 删除myenv1
## 如果你完成了项目或想删除虚拟环境,只需删除虚拟环境目录即可。在终端中运行:
py_venv_test % rm -r myenv
#9 创建myenv2 并 activate
py_venv_test % python -m venv myenv2
py_venv_test % source myenv2/bin/activate
#10. myenv2加载 myenv1的requirements.txt
pip install -r requirements.txt
conda 是一个流行的开源包管理工具,主要用于数据科学和科学计算领域
。它的主要功能包括创建和管理虚拟环境以及安装、更新和管理软件包。
首先,你需要安装 Miniconda 或 Anaconda,这是包含 conda 的发行版。Miniconda 是一个较小的发行版
,而 Anaconda 包含更多的预安装软件包。
py_venv_test % export PATH="/path/to/conda/bin:$PATH"
py_venv_test % source ~/.zshrc
py_venv_test % conda --version
conda 23.9.0
#1.创建虚拟环境myenv3 & 并安装 Python 3.8
py_venv_test % conda create --name myenv3 python=3.8
The following packages will be downloaded:
package | build
---------------------------|-----------------
pip-23.3 | py38hecd8cb5_0 2.6 MB
python-3.8.18 | h5ee71fb_0 14.4 MB
setuptools-68.0.0 | py38hecd8cb5_0 946 KB
wheel-0.41.2 | py38hecd8cb5_0 109 KB
------------------------------------------------------------
Total: 18.0 MB
#2.激活虚拟环境
py_venv_test % source activate myenv3
#3. conda 安装软件包
(myenv3) py_venv_test % conda install numpy
#4. 查看虚拟环境中已安装的软件包列表
(myenv3) py_venv_test % conda list
#5. 退出虚拟环境
(myenv3) py_venv_test % conda deactivate
#6. 删除虚拟环境
py_venv_test % conda env remove --name myenv3