提问人:Bryce Frank 提问时间:4/14/2018 最后编辑:didgereeduBryce Frank 更新时间:3/11/2022 访问量:4556
Conda 依赖项不会安装在本地包生成上
Conda dependencies do not install on local package build
问:
我正在使用 .现在,我的结构如下所示:conda-build
- 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
但是,下面列出的任何依赖项似乎都没有与软件包一起安装。例如,当我在 Python 中导入包时,它说找不到。run
pandas
我的依赖项是否列在正确的位置?我还需要在 中列出依赖项吗?文档中关于此信息应该在哪里不是很清楚。setup.py
答:
我发现在安装本地包时使用该标志确实会按预期安装包的依赖项。喜欢这个:--update-deps
conda install --use-local --update-deps my-package-name
评论
--use-local
我很幸运地告诉将本地目录视为一个频道:conda
conda install my-package-name -c file:///FULL_PATH_TO_CONDA/envs/my_env/conda-bld/
我根据这里的说明弄清楚了这一点,尽管请注意,我不必先运行,因为已经创建了文件。conda index
conda build
repodata.json
评论
--use-local
指定频道对我有用。
实际上,您甚至不需要指定完整路径。例如,从配方所在的文件夹(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
评论
--use-local pkg_name
--use-local
As commented by @darthbith, using the flag with the package name,--use-local
conda install -n my_env --use-local my_pkg
works as intended. Using a path to a tarball directly triggers Conda to install without dependencies.
上一个:蟒蛇训练往往会中断
评论
--use-local
conda-bld
conda install -n my_env --use-local my_pkg
conda-bld
conda-build
conda install
run