在 Python 中管理依赖的常见方法如下,可根据项目需求选择合适的方式:
1. 虚拟环境隔离
- 作用:避免全局依赖冲突,为每个项目创建独立环境。
- 工具:
venv
(Python 内置):# 创建虚拟环境 python -m venv myenv # 激活环境(Windows) myenv\Scripts\activate # 激活环境(Linux/macOS) source myenv/bin/activate # 退出环境 deactivate
virtualenv
(第三方,功能更丰富):pip install virtualenv virtualenv myenv
2. 依赖管理工具
-
基础工具:
pip
+requirements.txt
- 安装依赖:
pip install package1 package2
- 导出依赖列表:
pip freeze > requirements.txt
- 根据文件安装依赖:
pip install -r requirements.txt
- 安装依赖:
-
进阶工具:
Pipenv
(结合虚拟环境和依赖管理,自动生成Pipfile
和Pipfile.lock
)# 安装 Pipenv pip install pipenv # 创建虚拟环境并安装依赖 pipenv install package1 # 安装开发依赖 pipenv install pytest --dev # 根据 Pipfile 安装所有依赖 pipenv install
-
现代工具:
Poetry
(支持依赖管理、打包发布,适合复杂项目)# 安装 Poetry pip install poetry # 初始化项目(生成 pyproject.toml) poetry new myproject # 添加依赖 poetry add package1 # 安装所有依赖 poetry install
3. 依赖版本控制
- 精确版本:在
requirements.txt
或pyproject.toml
中指定版本:requests==2.26.0 numpy>=1.21.0, <2.0.0
- 锁定版本:通过
Pipfile.lock
(Pipenv)或poetry.lock
(Poetry)固定依赖树,确保环境一致。
4. 推荐实践
- 小型项目:使用
venv
+pip
+requirements.txt
。 - 中型项目:选择
Pipenv
或Poetry
,简化依赖和虚拟环境管理。 - 开源库:优先使用
Poetry
,便于打包和版本控制。
通过以上工具,可以实现依赖隔离、版本控制和团队协作的一致性。
(www.nzw6.com)