安装 pip 包#
PyPI 存储库中的大多数常用软件包都可以在 Anaconda 的公共存储库、Anaconda.org 或 conda-forge 中找到。但是,如果软件包或特定版本无法通过 conda 通道获得,则可能需要使用 pip。
使用 pip 安装软件包会修改您的 conda 环境,但 conda 不知道这些修改。因此,当 conda 稍后尝试修改环境时,conda 跟踪的包和未跟踪的 pip 包之间很可能会出现依赖项冲突,这可能会导致环境中断。
了解 conda 和 pip
尽管 conda 和 pip 的某些功能重叠(即安装 Python 包的能力),但它们是经过设计的,应该用于不同的目的。Pip 是 Python Packaging Authority 推荐的工具,用于从 Python 包索引 PyPI 安装包。另一方面,Conda 是一个跨平台的包和环境管理器,用于安装和管理 Anaconda 公共存储库以及 Anaconda.org 中的包。
conda 和 pip 之间的其他主要区别包括:
conda |
pip |
|
---|---|---|
Package distribution format |
Binaries |
Wheels or source |
Requires compilers? |
No |
Yes |
Package types |
Any (Python, R, C++, etc.) |
Python only |
Environment creation? |
Yes, built in |
No, requires virtualenv or venv |
Dependency resolution? |
Yes |
No |
Package sources |
Anaconda repo, Anaconda.org |
PyPI |
在 conda 环境中使用 pip 时,请遵循此页面上的指南,以避免依赖项冲突和损坏的环境。
创建一个environment.yml
手动文件#
要创建包含 pip 包的稳定环境,Anaconda 建议编写一个environment.yml
文件,然后从该文件构建环境。虽然这种方法的设置更耗时,但它提供了几个优点:
控制包构建顺序、版本和通道
简单的环境更新
通过
.yml
文件
编写environment.yml
文件#
下面是一个示例environment.yml
文件。编写文件时,请务必最后添加 pip 及其依赖项,因为 conda 会按列出的顺序构建环境。
name: myenv # This will become the name of your environment
dependencies: # The list of packages to include in your environment
- python=3.12 # You can specify versions
- bokeh>=2.4.2
- flask
- pip # Install pip in your environment
- pip: # Include pip dependencies last
- Flask-Testing
从environment.yml
文件#
要从environment.yml
file,从包含该文件的目录运行以下命令:
conda env create --file environment.yml
有关从 .yml 文件创建环境的详细信息,请参阅官方 conda 文档。
使用environment.yml
文件#
如果您需要将包添加到环境中、更改包版本或删除包,请更新environment.yml
文件,然后通过从包含该文件的目录运行以下命令来重新构建环境:
conda env update --file environment.yml --prune
注意
这--prune
选项从环境中删除所有孤立的软件包。如果包同时满足以下两个条件,则认为该包是孤立的:
它不是由用户显式安装的。
它不是任何当前安装的软件包的依赖项。
用pip install
在 conda 环境中#
由于 conda 对 pip 所做的环境更新缺乏感知,因此在您的环境中使用 pip 必须是构建环境时要执行的最后一项作。
谨慎
不运行pip install
在您的基本环境中。创建单独的 conda 环境以隔离更改。
要在命令行构建包含 PyPI 软件包的 conda 环境,请完成以下步骤:
激活您的目标环境。
首先通过运行以下命令安装 conda 包:
# Replace <PACKAGE> with the conda packages you need to install, separated by a space # List the pip package last conda install <PACKAGE> <PACKAGE> pip
注意
Anaconda 和 Miniconda 都包含 pip,但您必须将其安装在您的工作环境中才能执行 pip 命令。
要安装 PyPI 包,请运行以下命令:
# Replace <PACKAGE> with the name of the PyPI package you need to install pip install <PACKAGE>
如果您在安装 pip 软件包后需要安装其他 conda 软件包,请创建一个新环境,然后按照上述过程重新安装软件包。
有关更多信息,请参阅有关将 pip 与 conda 结合使用的官方 conda 文档。