Mic*_*and 6 python cross-platform conda
我正在尝试使用Conda为项目(LensKit)设置构建和测试环境,并且需要具有特定于平台的依赖项.具体而言,在Linux上构建我需要libgfortran
和openssl
,但Windows.
有没有一种方法可以environment.yml
说明我需要libgfortran
但只能在32位和64位Linux平台上?或者我是否需要单独的环境定义来涵盖这种情况?
我看到的另一个可能的解决方案是创建一个虚拟包并将其发布到http://anaconda.org,这取决于每个平台所需的基础包,并要求包中environment.yml
.
"虚拟包"实际上被称为"元包".请参见http://conda.pydata.org/docs/building/meta-pkg.html.这似乎是个不错的选择.
或者,您可以构建项目的conda包吗?在conda配方中,meta.yml
您可以将选择器用于不同的平台.http://conda.pydata.org/docs/building/meta-yaml.html#preprocessing-selectors
小智 5
我偶然发现了同样的问题,并为这个问题编写了一个小型解析器。在您的情况下,您可以创建一个environment.yml.meta文件,如下所示:
name: demo_env
dependencies:
- <your_other_dependencies>
- libgfortran [platform startswith linux]
- openssl [platform startswith linux]
Run Code Online (Sandbox Code Playgroud)
然后从中创建环境
python create_env.py
Run Code Online (Sandbox Code Playgroud)
当然,它与原生支持不同,因为您需要将解析器作为子模块添加到您的存储库中,或者只是将其复制过来,但也许您发现它很有用。该项目位于 GitHub 上:
https://github.com/silvanmelchior/cme_parser
归档时间: |
|
查看次数: |
915 次 |
最近记录: |