问题标签 [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 投票
0 回答
24 浏览

python - Conda-build 忘记安装 Python

我正在尝试重新打包一个库。我已经阅读了这个页面,并且说明真的很愚蠢。我的意思是,那里真的没有任何说明。只是意识流。

无论如何,它永远不会进入重新打包阶段,仅仅是因为无论出于何种原因conda-biuld决定它需要将$PYTHON变量设置为/home/wvxvw/anaconda3/conda-bld/pylibjpeg-openjpeg_1624870917374/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/bin/python——多么美妙的名字!但是,它忘记了实际放任何东西。实际上,bin该位置甚至没有目录。

在这一点上,我不想理解为什么会这样。conda-build是我用过的最愚蠢的工具,而且,我希望永远不要再碰它。如果有一个meta.yaml用于打包可重定位共享库的模板,我将不胜感激,我可以复制和修改它以适应我正在尝试打包的库并忘记这个噩梦。

这是我meta.yaml现在的样子:

注意。如果我不尝试包含我认为我需要做的编译器,如果我想conda-buil处理 rpath(是吗?),那么构建有点工作......但测试失败,因为......谁知道什么。无法重现conda运行测试的环境,它打印的错误都是无关紧要的,如果我尝试手动重现它,它确实有效......

0 投票
0 回答
227 浏览

python - 如何手动运行 conda-build 运行的测试?

conda-build可以指定运行测试的“配方” 。基本测试导入刚刚构建的包。这个测试对我来说失败了,但是当我尝试手动运行它时,一切正常......

在我的meta.yaml

这就是构建失败的方式:

如果我这样做:

所以,它就在那里,一切都很好。该软件包已正确构建...为什么conda-build无法导入它?

0 投票
1 回答
50 浏览

python - 如何解决 conda 的 pycosat 依赖?

我正在尝试安装 conda。但它显示我缺少对pycosat. 我正在尝试构建和安装 python-pycosat 0.6.3。我已经从这里下载了 zip 文件。我已经提取它并从内部运行sudo python setup.py install

它给了我结果:

但是在那之后当我仍然尝试安装conda时,它仍然说pycosat丢失了。我究竟做错了什么?

0 投票
0 回答
67 浏览

python - 在 Conda 包中将版本环境变量从构建时间传递到运行时

我的包的版本被定义为一个环境变量(VERSION)。读取此环境变量setup.py并将其传递给meta.yaml. 这是我的包构建的版本。
当我的包运行为package --version时,用户应该会看到这个正确的版本变量值。

我的问题是:如何在构建阶段(VERSION=1.0.0 conda build package)将这些信息从环境变量传递到运行阶段(conda install package && package --version)?

我正在使用build.sh脚本。我想到的一种方法是echo $VERSION > version.txt放入build.sh. 但我不知道是否有一个$PREFIX/static目录,类似于$PREFIX/bin.

0 投票
0 回答
17 浏览

python - 目标环境上的 conda 包选择器

我想知道如果给定的包安装在安装环境目标中,您是否可以在 conda 包配方中指定依赖项的选择器以仅选择它。

所以想象一个这样的食谱:

如您所见,最后一行包含一个要求,对于已安装的名为“jupyterlab”的软件包,该要求应该是可选的。最终这已经实现了,但我不知道/无法找到它 - 或者必须先设计/编写它。

很高兴有任何答案将我指向正确的方向。

0 投票
0 回答
48 浏览

python - conda-build 和依赖解析

我有一个基于 conda 的项目,它在meta.yaml. 这些依赖项当然有自己的依赖项,我的meta.yaml. 结果,构建我的项目conda build有时会导致构建使用不同的依赖项。

我想在某种锁定文件中指定所有依赖项,以便每次执行时conda build都使用相同的依赖项。

我查看了 conda-build 文档,并找到了关于 reproducibility 的部分,但它并没有真正说明如何创建可重现的构建。

有什么方法可以conda build在每次运行时使用相同的依赖树?

0 投票
2 回答
370 浏览

python - 执行 conda-build 找不到任何文件

我正在尝试构建一个简单的包以上传到 anaconda 云。我已经走了很长一段路来让一个小例子工作,但我无法在目标机器上使用由 conda 构建的包(总是给我一个 ModuleNotFound-Error)。但是,我怀疑这是目标机器的错误(更可能是构建过程搞砸了) - 所以请耐心等待,让我解释一下我做了什么。

我的 python 代码只是一个文件,里面有一个函数

如前所述,我想使用 conda-build 进行构建并将包上传到我的 anaconda 云频道。我创建了一个名为 conda-recipe 的文件夹,其中包含 bld.bat、build.sh 和 meta.yaml 文件。所以完整的结构是这样的:

我通过 Anaconda 命令行工具更改为项目根目录,然后运行

一切似乎都工作正常,上传到 anaconda 云也正在工作(上传包)。如果我换到另一台机器,我什至可以通过运行安装包

但是,当我从 Jupyter Notebook 或 Pycharm 中运行包时,我收到关于我的包的“ModuleNotFound”错误。首先,我认为这可能与我的目标系统(即我使用包的位置)有关,我已经阅读了几篇文章,其中我确保 PYTHONPATH 设置正确,并且 python 安装确实查看了所在的文件夹包安装到。我知道这个包真的被安装了,python 安装会查看相应的目录。此外,conda list表示该软件包已安装。

在这个问题上投入了 1 1/2 天后,我花时间审查了我的构建过程并完成了以下工作:如果我只运行带有参数 sdist 的 setup.py 文件,则会创建一个 tar.gz 文件。我可以上传这个,anaconda cloud 识别出该文件是一个 pypi-Archive。我什至可以在目标机器上下载并安装这个文件并在那里成功使用它。所以,一般来说,我会说我的代码没问题(惊喜),目标机器的 python 安装也没问题。因此,我回到了 conda-build-command。相信我,我不止一次看过文档

但是, conda-build 的输出在结尾处显示以下内容:

对我来说,这表明 conda 构建过程并没有真正产生可行的输出。因此,我尝试了几个选项来指定 meta.yaml 中的源部分:url、git_url、路径。没有一个导致不同的输出。以最新形式查看我的 meta.yaml:

我的 bld.bat:

我的 build.sh:$PYTHON setup.py install

无论我如何更改我的 meta.yaml 文件,我总是得到没有找到输出文件的输出。但是,当检查 anaconda 构建目录时,我可以看到有名为 src_cache 和 git_cache 的非空文件夹,因此我知道 anaconda 至少可以访问这些文件。

所以 - 谁能告诉我,为什么

  1. conda build 告诉我有 0 个文件
  2. 我不能使用我的 conda 模块,它总是给我一个 ModuleNotFound 错误?
0 投票
0 回答
67 浏览

jinja2 - 在 Windows 10 下,如何使 {{ compiler('c') }} 在 meta.yaml 中为 conda 构建工作?

我正在尝试在 Windows 10 下我的一个文件的部分中使用新的{{ compiler('c') }}Jinja 命令。但是,当我这样做时,构建中断,无法“找到” ,这很奇怪,因为它确实找到了我的Visual Studio安装(即 - 我在日志中看到正确的 VS 版本号。)。相反,我能够成功构建,但这给我留下了一个不可移植的文件。:(requirements:buildmeta.yamlconda buildcl.exevs2019_win-64meta.yaml

有谁知道我需要做什么才能让它工作?

根据@merv 的要求:

conda-build版本:

我正在尝试构建的一个包,它表现出上述行为,是:Chaco. 这是我的构建meta.yaml文件的内容:Chaco

0 投票
1 回答
96 浏览

python - 如何指定 conda 构建包的源(git 分支)

我创建了一个成功构建的 conda 包,并且可以使用 conda 进行安装。我正在使用versioneer自动生成我的构建版本号。我的项目位于具有多个分支的 git 存储库中。

我的问题是,当我想安装软件包时,conda 将安装最后构建的版本(无论分支),而我希望它默认安装分支 Master 的最后一个版本。我的解决方法是手动指定我想要的版本的版本号。

有没有办法用 versioneer 生成版本号,这将使 conda install 优先安装分支 master 的最后一个构建版本?或者,有没有办法指定 conda 分支以获取最新版本?

谢谢

0 投票
0 回答
50 浏览

python - 从 PIP 构建 Conda 包。构建 Conda 包时缺少依赖项问题

我已经使用 pip 构建了一个自定义 python 包,它工作正常。现在我想使用 Conda 构建相同的包,但 Conda 在从 YAML 文件下方安装嵌套依赖项时抛出错误。 元.yaml

使用 Conda 构建时出现此错误

似乎这些软件包在 Conda Mirror 上的版本与它们在 pip (PyPi) 中的版本不同。