Conda:环境 yaml 文件的语法与 venv 要求
Conda: syntax of the environment yaml file vs. venv requirements
我有一个用于为 pip 创建虚拟环境的 venv 要求文本文件。
我现在想根据 pip 的需求文件在 conda 中设置一个环境。
但是,有几行我不知道如何从 pip 语法“移植”到 conda 语法。
如果我采取这样的行:
scipy>=1.4.1
并以这种方式将其复制到 conda yaml 文件中:
dependencies:
- scipy>=1.4.1
它们工作正常。
但是在需求文件中有这样的行:
openexr==1.3.2; platform_system == 'Linux'
dataclasses>=0.8; python_version == '3.6'
如果我尝试以相同的方式复制它们,它们会出错。
CondaValueError: invalid package specification: openexr==1.3.2; platform_system == 'Linux'
“翻译”这些行的正确语法是什么?
Conda 已经知道您的平台,因此第一行仅保留 openexr
规范。对于第二个,Conda 管理 Python,因此 Python 版本规范可以显式包含在单独的行中。总而言之,类似于
dependencies:
- python=3.6
- scipy>=1.4.1
- openexpr=1.3.2
- dataclasses>=0.8
我有一个用于为 pip 创建虚拟环境的 venv 要求文本文件。
我现在想根据 pip 的需求文件在 conda 中设置一个环境。 但是,有几行我不知道如何从 pip 语法“移植”到 conda 语法。 如果我采取这样的行:
scipy>=1.4.1
并以这种方式将其复制到 conda yaml 文件中:
dependencies:
- scipy>=1.4.1
它们工作正常。 但是在需求文件中有这样的行:
openexr==1.3.2; platform_system == 'Linux'
dataclasses>=0.8; python_version == '3.6'
如果我尝试以相同的方式复制它们,它们会出错。
CondaValueError: invalid package specification: openexr==1.3.2; platform_system == 'Linux'
“翻译”这些行的正确语法是什么?
Conda 已经知道您的平台,因此第一行仅保留 openexr
规范。对于第二个,Conda 管理 Python,因此 Python 版本规范可以显式包含在单独的行中。总而言之,类似于
dependencies:
- python=3.6
- scipy>=1.4.1
- openexpr=1.3.2
- dataclasses>=0.8