问题标签 [conda-build]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
314 浏览

python-3.6 - 使用 conda 骨架/ conda build 构建和安装 cx_Oracle 不起作用

我已经在 Anaconda python 中使用我的 Windows 64 位机器上的 conda 骨架命令安装了包 cx_Oracle

conda 骨架 pypi cx_Oracle

cx_Oracle 的 af5f7daad67d6820670d582dfc045/cx_Oracle-6.0rc1.tar.gz (200 KB)。

下载 cx_Oracle

使用缓存下载

正在解压 cx_Oracle...

完毕

当我检查文件/目录最终设置时,我在那里看到

但是当我调用它时,它找不到

cx_Oracle 的目录包含文件,并且知道我需要使用 conda build 构建包:

conda build cx_Oracle

就这样,还是不行

为我提供以下错误:

我不明白最终安装软件包还需要什么

谢谢阅读。

0 投票
1 回答
2889 浏览

python - Conda 使用 pint 构建不可满足的依赖项错误

我有一个有效的 pip 包,我正试图将它放到 Anaconda.org 服务器上。我使用 conda 骨架创建了 meta.yaml 文件,其中包括对 pint 的要求(没有选择特定版本,因此它应该默认为最新版本。)但是,当我尝试使用 conda build 构建包时,conda 会引发此错误: raise DependencyNeedsBuildingError(exc, subdir=subdir) conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: ['pint'] 但是,有一个为 osx-64 构建的品脱......在 conda 和 pip 以及我的机器上 - 这是我用来运行我的 pip 包的那个。conda 正在寻找哪个存储库以找到该要求,我如何指定要在 meta.yaml 中使用的正确品脱?

0 投票
0 回答
282 浏览

python - conda build 不测试 python 导入

我正在使用下面的 meta.yaml 构建一个 python conda 包。据我了解,它应该指示 conda build 在测试环境中安装包并测试列出的导入。

然而 conda build 只是返回“ Nothing to test for: /tmp/cbuild/linux-64/qats-2.11.24-py36_gf6cd119.tar.bz2 ”。据我所知,没有 conda build 创建测试环境或尝试导入包的痕迹。

仅供参考,测试是在 linux 代理上运行的。

有没有人有类似的经历?如果是这样,您是如何解决的?

包 meta.yaml

0 投票
1 回答
365 浏览

python - 安装时构建 conda 包

所以我发布了一个 conda 包(链接)。

这个包包含 .c 扩展名(来自 cython 代码),需要在安装包时进行编译。我的问题是运行安装命令时没有编译任何扩展

只需运行即可编译扩展

这正是 pip 所做的。该软件包在 PyPI 上并且工作正常。

据我了解,仅当我使用以下命令构建conda包setup.py时才会调用此命令: meta.yaml 文件(使用创建的)包含conda buildconda skeleton

但是我需要在安装包而不是构建包时完成。

阅读conda 文档,看起来安装过程只是复制文件的问题:

将 conda 包的文件安装到环境中可以认为是将目录更改为环境,然后下载并解压缩 .zip 文件及其依赖项

这意味着我必须为所有平台和架构构建包,然后将它们上传到 conda ......这对我来说是不可能的。

那么,有没有办法在安装包时构建包,就像 pip 一样?

0 投票
1 回答
409 浏览

python - 官方 AnacondaRecipes/opencv-feedstock 的 conda-build 无法查找 libpng.h

我已经在 AnacondaRecipes 中下载了 opencv的官方 conda 配方。

我试图构建这个包执行:

当配方编译 opencv 时,我收到以下错误[ 72%] Built target opencv_dnn。错误如下:

$PREFIX查看目录,没有libpng文件夹,只有一个libpng16文件夹:

我怀疑它一定与 conda-build 如何管理路径环境有关,但我不知道如何解决它。

环境:conda 4.4.11,操作系统:Ubuntu 16.04。

更新 23/03/2018

我也试过:

  • 添加libpng/png.h到 $PREFIX 目录指向的位置。
  • 添加/usr/include$PATH

两种情况都没有成功。

更新 04/03/2018

  • libpng-dev安装在环境中。

更新 09/04/2018

2018 年 12 月 4 日更新

0 投票
1 回答
964 浏览

r - CRAN R 包的 conda 构建失败

我正在尝试使用此处显示的方法从 CRAN 包构建 conda-forge 上不存在的 R conda 包:https ://www.anaconda.com/blog/developer-blog/conda-data-science/

我以 R 包 rann 为例——这个包在 conda-forge 上已经作为 r-rann 存在,但我用它来测试构建过程是否正常工作。

在构建过程中,执行包含行的脚本“conda_build.sh” $R CMD INSTALL --build .。我的问题是构建过程失败并出现错误Fatal error: cannot open file 'CMD': No such file or directory,与我尝试构建的包无关。我不知道环境变量(?)“CMD”应该来自哪里。

我采取了以下步骤:

  1. conda skeleton cran rann
  2. conda build r-rann

我还测试了从 pip 构建 Python 包,这些包没有任何问题,所以这似乎不是我的 Miniconda 安装的普遍问题。

我的系统:

  • Ubuntu 17.10
  • Miniconda 3,版本 4.4.10

以下是构建过程的完整日志:

build.sh conda 创建的内容:

创建的 meta.yaml conda 的内容:

任何帮助,将不胜感激!

0 投票
0 回答
522 浏览

python - 使用 manylinux + auditwheel pip Wheels 与 Conda 打包

描述

所以我希望打包一个需要科学库的相当复杂的 python 应用程序。这个问题有点类似于stackoverflow pip 与 conda 的讨论,但它并没有详细说明 linux 轮子的二进制打包自 2016 年以来的差异。我已经看到pypi/cryptography使用 manylinux 并通过 pypi 轮子分发二进制文件。另一个包 mpi4py 仅发布用于 conda 的二进制包,只是因为困难。甚至可以说二元轮不适合这项任务。

问题

与 conda 相比,通过轮子进行的共享库打包看起来像什么?截至 2018 年,通过轮子进行共享库打包是否值得?

要求

我的包裹需要

  • 开放式
  • fftw3
  • 打开mpi

在我所有的静态二进制文件中,大约有 100Mb,所以它确实需要很多共享库。许多人还指出,即使对我自己来说,安装也是一种巨大的痛苦……我无法想象如果有人试图自己安装它会是什么样子。到目前为止,我有一个工作的 docker 容器。

0 投票
0 回答
85 浏览

conda - conda build:如何在 python 项目中嵌入版本号

我希望能够做到:

在 conda 构建的 Python 项目中pyproject

我不知道如何在 meta.yaml 中做到这一点,或者在 conda-forge 上找到一个例子。

谢谢

0 投票
2 回答
327 浏览

anaconda - conda 从本地存档文件构建源

conda build支持多种方法来导入要在构建中使用的源,如此处所述。有没有办法从本地存档文件(.zip、.tar.gz 等)导入源代码?我试图使用路径指定存档文件的位置:用于指向本地源的选项;但是,存档文件会被移动到构建工作目录中而无需解压缩。我显然可以明确解压缩档案;但是,这需要我在构建文件中明确指定文件名,这出于多种原因是不可取的。有没有办法从本地存档文件导入源代码并自动解压到工作目录,就像通过 url 和 fn 规范导入的文件一样?

0 投票
0 回答
616 浏览

python - 使用 conda build 时使用正确的环境变量

我想将 c++ 包(https://github.com/modsim/cadet)作为带有 python 包装器的 anaconda 包。该软件包依赖于 hdf5、LAPACK 和 sundials 软件包。所有这些都可以作为 anaconda 包提供,这使得它非常方便。

目前我使用以下小脚本构建包(没有 conda):

我被一些可能非常简单的事情困住了,但是阅读所有文档并在 youtube 上观看教程并没有帮助。如何使用 conda-build 使此代码通用?我想以适用于任何系统的方式设置日晷、mkl、hdf5 等的路径。

如果我理解正确,我会在我的系统上为 linux64 创建 conda 包。它涉及在 setup.sh 脚本中调用 cmake。但是系统如何知道所有库在另一台计算机上的位置(例如,如果有人想使用 conda install 安装我的包)?例如:

导出 SUNDIALS_ROOT=~/anaconda3/include/sundials

这条线显然只适用于我的电脑或任何其他安装了anaconda并命名为anaconda3的电脑。

任何提示都非常感谢。我在 conda 构建配方示例中四处寻找,并希望找到一个适合的示例,但我无法想象我是唯一一个尝试为带有共享库的 c++ 包提供 python 包装器的人。

编辑

使用以下步骤,我离我想要实现的目标更近了一点:

我添加了: conda config --add channels conda-forge

然后编辑了 meta.yaml:

包:名称:pycadet 版本:3.1.2

所有要求都会自动下载,一切正常,直到make崩溃。build.sh:

有什么提示吗?