【问题标题】:Installing Python Package Based on OS基于操作系统安装 Python 包
【发布时间】:2019-10-27 04:14:42
【问题描述】:

对于我的environment.yml 文件,我有一个依赖项列表。一个包仅在基于Windows 的系统上可用,但在该环境中需要该包。其他软件包可以安装在任何操作系统上。

如何创建 environment.yml 以便它只在 windows 操作系统上安装包?

当前environment.yml

name: python_dev_env
channels:
- defaults
- anaconda
- conda-forge
- dhirschfeld
dependencies:
- pandas >=0.23
- pip
- python >=3.6
- nbconvert
- beautifulsoup4
- requests
- requests-kerberos==0.11.0
- requests-toolbelt
- requests_ntlm
- requests-oauthlib
- requests-negotiate-sspi
- jupyterlab
- pytest
- matplotlib
- scikit-learn
- scikit-image
- keras
- pip:
  - unittest-xml-reporting
  - setuptools >=38.6
  - sphinx-rtd-theme

requests-negotiate-sspi是windows专用包。

【问题讨论】:

  • 您将不得不创建几个 environment.yml 文件,据我所知没有办法做到这一点。这里还有一些其他类似的问题,答案是制作几个文件。您可以仅将不同的文件添加到自己的文件中,并仅在 Windows 上使用 conda env update

标签: python python-3.x anaconda conda package-managers


【解决方案1】:

在 environment.yml 文件中,为 windows only dependencies 加上以下后缀

; sys_platform == 'win32'

像这样

- requests-negotiate-sspi; sys_platform == 'win32'

同样,您可以使用

标记仅 linux 的依赖项

; sys_platform == 'linux'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多