运行环境#
conda 中的环境是独立的隔离空间,您可以在其中安装特定版本的软件包,包括依赖项、库和 Python 版本。这种隔离有助于避免包版本之间的冲突,并确保您的项目具有所需的确切库和工具。
为什么要创建新环境?#
您可能希望创建新环境的原因有多种:
依赖项隔离 - 环境将软件及其依赖项与计算机上安装的其余软件隔离开来。这意味着您可以在计算机上同时安装 Python 3.9 和 Python 3.10,并使用这两个版本而不会遇到问题。
可重现性 - 通过为每个项目创建一个环境,您可以确保您的代码在不同计算机上一致地运行。锁定您的环境以确保它无限期地保持可重现性,然后共享环境配置以允许其他人复制您的设置。
易于管理 - Conda 提供了轻松创建、管理和删除环境的工具。您可以在环境之间快速切换,从而轻松管理具有不同要求的多个项目。
测试和开发 - 环境非常适合测试新的软件包或库,而不会影响您的稳定开发设置。您可以自由试验并在事情不顺利时删除环境,而不会影响您的其他项目。
为什么我不应该在基本环境中工作?#
首次安装和使用 conda 时,您可能会看到对名为base
或 “base environment” 的 “基本环境”。此环境是 conda 本身的安装位置,并且只能用于安装 anaconda、conda 和与 conda 相关的软件包,例如anaconda-client
或conda-build
.
但是,对于您的项目,Anaconda 强烈建议创建新的工作环境。这可以保护您的基本环境不会因复杂的依赖关系冲突而中断,并允许您在其他计算机上轻松管理和重现您的环境。
使用环境#
为方便起见,此处详细介绍了用户在管理环境时采取的最常见作。有关作的完整列表和更全面的指南,请参阅官方 conda 文档中的管理环境。或者,按照 Anaconda Cloud 上的 conda 环境入门教程进行作。
提示
如果您希望通过我们的图形界面 Navigator 创建和管理您的环境,请参阅管理环境。
创建环境#
通过打开 Anaconda Prompt(macOS/Linux 上的终端)并按照以下用例的步骤创建 conda 环境:
以下命令创建一个新环境并下载指定的包及其依赖项:
# Replace <ENV_NAME> with a name for your environment
# Replace <PACKAGE> with your desired package
# Replace <VERSION> with your desired version (optional)
conda create --name <ENV_NAME> <PACKAGE>=<VERSION>
例:
conda create --name myenv python=3.11 beautifulsoup4 docutils jinja2=3.1.4 wheel
示例版本匹配输入
版本匹配使用 Matchspec 协议。以下是在创建环境时为包指定版本的一些示例。有关更多信息,请参阅官方 conda 文档中的 MatchSpec。如果您未指定软件包版本,conda 将尝试从其可用通道安装软件包的最新版本。
python=3.12.1
- 将包与指定的确切名称和版本匹配。
python>=3.11
- 匹配大于或等于指定版本的任何包版本。
python<=3.12
- 匹配小于或等于指定版本的任何包版本。
python>3.10,<3.12
- 匹配指定版本之间的包的任何版本,但不包括指定版本。
python>=3.10,<=3.12
- 匹配指定版本之间的包的任何版本,包括指定的版本。
python[version='3.12.*']
- 匹配以 3.12 开头的任何 python 软件包版本。
激活环境#
由于环境是隔离空间,因此您一次只能使用一个环境。选择要使用的环境称为激活它。
通过运行以下命令激活环境:
# Replace <ENV_NAME> with the name of the environment you want to activate conda activate <ENV_NAME>
在环境之间切换#
当您准备好在项目之间切换时,只需激活另一个项目的环境即可。激活其他环境将停用您当前的环境。
(可选)通过运行以下命令查看所有环境的列表:
conda info --envs
要切换到其他环境,请通过运行以下命令将其激活:
# Replace <ENV_NAME> with the name of the environment you want to switch to conda activate <ENV_NAME>
锁定环境#
确保您的项目无限期地保持可重现的最可靠方法是 “锁定” 其环境。锁定环境会创建一个完全指定的环境,该环境包含项目中使用的所有包及其依赖项,这些包都配置为特定版本。这可确保您的项目将完全按照最初的配置进行复制,因为如果发布了新的包依赖项,则永远不会发生意外的更新或更改。
锁定您的项目需要conda-project
软件包。通过运行以下命令安装软件包:
# Replace <ENV> with the environment you want to lock
conda activate <ENV>
conda install conda-project
如果您的项目不包含environment.yml
文件中,通过运行以下命令创建一个:
conda-project init
然后,您可以通过运行以下命令来锁定项目的环境:
conda-project lock
锁定您的项目会生成一个conda-lock.default.yml
文件,您可以导出该文件以与他人共享。
停用环境#
最佳做法是在完成环境中的工作后停用环境。
要停用您的活动环境,请运行以下命令:
conda deactivate