[英]conda dependencies do not install on local package build
我正在使用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
列出依赖项吗? 文档对这些信息的位置不是很清楚。
我发现在安装本地包时使用--update-deps
标志确实安装了包的依赖项,正如预期的那样。 像这样:
conda install --use-local --update-deps my-package-name
指定频道对我有用。
实际上,您甚至不需要指定完整路径。 例如,从配方所在的文件夹(meta.yaml 和 build.sh),我使用以下命令构建我的包:
conda-build . --output-folder ./build
然后,我使用以下命令安装软件包:
conda install my_package_name -c ./build
这也将安装在 meta.yaml 中指定的依赖项。 这是我的 meta.yaml 的样子。
package:
name: my_package_name
version: 0.0.1
source:
path: .
requirements:
build:
- python
- setuptools
run:
- python
- numpy
- holopy
- scikit-image
正如@darthbith 所评论的,使用--use-local
标志和包名,
conda install -n my_env --use-local my_pkg
按预期工作。 使用 tarball 的路径直接触发 Conda 安装而无需依赖项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.