在conda环境中构建github源代码包

时间:2019-01-08 16:35:21

标签: python pip conda

我有一个用于构建conda环境的environment.yml文件,其中一个包(另一个包的python包装)取决于另一个包提供的.h / .so文件。假设:

   channels:
     - defaults
     - conda-forge

   dependencies:
     - blah=1.2.1
     - pip:
       - git+https://github.com/pyBlah.git

blah软件包本身可以正确安装,并且header / .so文件确实安装在适当的位置(分别在conda环境的includelib文件夹内),但是pip install行失败,因为它找不到标题。

我可以删除上面environment.yml中的pip行,然后在创建/激活环境后尝试安装它,就像这样:

CFLAGS=-I/path/to/env/include LDFLAGS=-L/path/to/env/lib pip install git+https://github.com/pyBlah.git

或遵循类似Conda set LD_LIBRARY_PATH for env only的内容 为了避免必须在pip install中明确指出路径,但是必须执行其中任何一个步骤似乎都提供了太多的细节,并将原本应该安装的步骤分成了许多步骤。

我的想法是conda必须在内部做类似的事情来解析/构建/安装它在environment.yml中找到的相关软件包。

所以我的问题是双重的:

  1. conda是否有理由不自动添加适当的include / lib路径,因为否则pip(毕竟是特定于环境的)应该如何在环境处于正常状态时正确地工作呢?激活了吗?

  2. 是否仅使用environment.yml中的适当说明符就能完成依赖包安装的规范方法?

0 个答案:

没有答案
相关问题