【发布时间】:2018-09-24 04:04:36
【问题描述】:
我正在使用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 中列出依赖项吗?文档对这些信息的位置不是很清楚。
【问题讨论】:
-
而不是指定完整路径,
--use-local的目的是去查看conda-bld文件夹。我怀疑原因是您列出了文件的完整路径而不仅仅是包的名称,因为文件的完整路径不安装依赖项。试试conda install -n my_env --use-local my_pkg -
@darthbith 我可以确认行为并且我没有指向目录。与 OP 一样,在引用构建包(位于
conda-bld并使用conda-build构建)时,conda install不会安装run依赖项。为什么我要再次尝试使用 conda? -
您找到解决方案了吗?我遇到了同样的问题。
-
我也面临类似的问题。有没有已知的解决方案。下面的两种解决方案对我不起作用。
-
您能接受/支持一个答案吗?这个问题应该被用作这个问题的规范问题,但缺乏支持会阻止这一点。我相信我添加的社区 wiki 是正确的答案,但我无法为自己投票。