conda依赖项不会安装在本地包构建中

时间:2018-04-13 18:19:57

标签: python conda

我正在使用conda-build构建Python包。现在我的结构看起来像这样:

- my_recipe/
    - meta.yaml
    - build.sh

我的meta.yaml如此阅读:

package:
  name: my_pkg
version: "0.2.0"

source:
  path: ../my_pkg

requirements:
  build:
    - python
    - setuptools
  run:
    - python
    - pandas
    - numpy
    - plotly
    - matplotlib
    - pyqtgraph
    - pyopengl
    - gdal
    - scipy
    - scikit-image

当我运行

时,包本身正确构建

conda-build my_recipe/

当我运行

时它会成功安装

conda install -n my_env --use-local ~/miniconda3/envs/my_env/conda-bld/linux-64/my_pkg-0.2.0-py36_0.tar.bz2

但是,run下列出的所有依赖项似乎都没有随包一起安装(例如,当我在Python中导入包时,它说无法找到pandas)。

我的依赖项是否列在正确的位置?我是否还需要在setup.py中列出依赖项?文档不清楚这些信息的位置。

2 个答案:

答案 0 :(得分:1)

我发现在安装本地软件包时使用--update-deps标志确实可以安装软件包的依赖项。像这样:

conda install --use-local --update-deps my-package-name

答案 1 :(得分:0)

我很幸运地告诉 conda 将本地目录视为频道:

conda install my-package-name -c file:///FULL_PATH_TO_CONDA/envs/my_env/conda-bld/

我是根据说明 here 计算出来的,但请注意,我不必先运行 conda index,因为 conda build 已经创建了 repodata.json 文件。