问题标签 [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.
matlab - 是否可以从自动构建系统链接到 MATLAB libmex?
我想通过链接到 MATLAB 的 conda(使用 conda-build 构建)分发一个程序libmex
。
是否可以将libmex
库安装到 conda、GitHub Actions 或 Homebrew 等公共构建系统上?
还有另一种方法吗?
python - Conda glibc 依赖冲突
尝试构建 conda 包时出现奇怪的错误。
在我看来,它似乎glibc 2.17
满足所有三个要求,但 conda 认为存在冲突。
澄清一下,pkg2
取决于我在本地构建的另一个包,pkg1
. pkg1
是一个带有 python 接口的 C++ 库,它依赖于libfftw
. 我在 conda 上找不到libfftw
,所以必须通过 yum 在构建主机上安装它,它运行 CentOS7 glibc 2.17
,因此依赖。
在pkg1
meta.yaml
我有:
pkg2 meta.yaml
:
python - 为什么 conda 包需要 setup.py 文件?
setup.py
当我想使用 conda 构建时,为什么我需要一个构建 python 包通常需要的文件?即 gradle 也不需要存在 mavens XML 文件。
python - 在 conda 包中为包名称或入口点模板不工作
要构建 conda 包,需要 meta.yaml 文件,其中列出了包的名称、版本和入口点,并指定了如何构建包。
此外,它支持 yaml 文件的大部分部分基于 jinja2 的模板。
如何让它从 setup.py 文件加载包名称和入口点?
给定一个包含以下内容的 setup.py 文件:
还有一个 meta.yaml:
为什么包的 conda 构建失败:
或者对于 meta.yaml 的:
python - Conda build 创建空包
我正在使用 conda-build 版本 3.11.0 和 conda 4.9.2 和 python 3.6.5。
我conda build .
在我们的项目上运行,只看到以下输出:
请原谅我没有发布完整的日志。如果需要,我可以放更多,但我必须手动重新输入文档,因为我的开发机器受限于网络访问。
在构建的.tar.bz2中,结构如下:
当我尝试使用 conda install 安装软件包时,我得到以下输出:
但是站点包中的文件夹是空的!
项目结构如下:
元.yaml
设置.py:
构建.bat:
conda_build_config.yaml:
清单文件
要求.txt
.
python - 当使用 conda-build 构建 conda 包并且我的代码使用纯 python 库时,我需要在 meta.yaml 文件中的 build/host/run 中放入什么?
假设我有一个使用 pandas、numpy 和 matplotlib 的 python 包。如果我查看他们的 meta.yaml 文件,我会在需求部分看到很多依赖项。例如像make这样的编译器。我是否还需要在我自己的 meta.yaml 包中命名来自 build 和 host 部分的所有这些依赖项,或者如果我只写以下内容就足够了:
python - 为什么在 conda-build 的构建过程中将 $CONDA_PREFIX 设置为 $BUILD_PREFIX?
我有以下 build.sh 并想通过简单地将 $RECIPE_DIR 复制到 $CONDA_PREFIX/... 来安装我的 python 包
但是,在执行期间,我得到了以下堆栈跟踪。似乎 $CONDA_PREFIX 被替换为 $BUILD_PREFIX 但我不知道为什么。我需要在我的 meta.yaml 中设置一些东西吗?
python - “conda install package_name”实际上是做什么的?
我尝试使用 conda-build 和 conda install 构建和安装一个简单的 python 包,并阅读了互联网上的许多文档,例如:
https://conda.io/projects/conda-build/en/latest/user-guide/tutorials/build-pkgs.html https://docs.conda.io/projects/conda-build/en/latest/user -guide/environment-variables.html https://docs.conda.io/projects/conda-build/en/latest/resources/build-scripts.html https://docs.conda.io/projects/conda-build /en/latest/resources/commands/conda-build.html https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html
我的期望和目标是使用 conda-build 构建 tarball 然后运行:
我在 opt/anaconda3/envs/python3.8/lib/site-packages/my_test_pkg 中找到了我的包。但是,安装完成后,压缩包 my_test_pkg-0.5.0-py_0.tar.bz2 仅移动到 opt/anaconda3/pkgs 并在那里解压缩。但是任何基础或虚拟环境的任何站点包文件夹中都没有文件。我看了看其他 tarball 的样子,例如 pandas。在那里我发现在 info 目录旁边还有一个 lib 目录。我想 tarball 中的目录需要匹配其内容被分发到的目录。我查看了 pandas 中的 meta.yaml,但我找不到任何信息如何在 tarball 中创建这个“lib”目录。然后我尝试手动打包并创建与熊猫相同的结构并运行“conda install my_test_pkg-0.5.0-py_0.tar.bz2” 再次,但没有真正发生。那么 conda install 实际上是做什么的呢?
这就是我的 meta.yaml 的样子
这是我的 build.sh
如您所见,我也尝试在 build.sh 脚本中进行安装,但后来我不知道“conda install”命令的实际用途。conda install 命令的输出是:
那么我需要做什么以及在哪里才能将 my_test_package 正确分发到 conda 虚拟环境?
更新:我看到我的 info/files 和 info.paths.json 文件是空的。但为什么?在构建过程中我一定做错了什么。
构建过程的完整堆栈跟踪
github - 找不到要输出的文件或脚本
我正在使用 conda 构建 python 包,但无法弄清楚它是如何工作的。我试图从 github 源构建一个包,我的 meta.yaml 看起来像这样
{% 设置版本 = "0.5.0" %}
当我运行“conda-build bsdiff4 --croot conda-build”时,我收到警告“找不到用于输出的文件或脚本”,我不明白为什么会这样。我在 meta.yaml 中遗漏了什么吗?我的 build.sh 是空的,我也不想使用 "script: "{{ PYTHON }} -m pip install 。--no-deps --ignore-installed -vv "" 如果我不需要,因为那时我还需要一个 setup.py。
完整的堆栈跟踪
我查看了以下文档,但找不到任何答案:
https://conda.io/projects/conda-build/en/latest/user-guide/tutorials/build-pkgs.html https://docs.conda.io/projects/conda-build/en/latest/user -guide/environment-variables.html https://docs.conda.io/projects/conda-build/en/latest/resources/build-scripts.html https://docs.conda.io/projects/conda-build /en/latest/resources/commands/conda-build.html https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html
conda - conda-forge 和 cf-staging 通道有什么区别
我有一个我在PyPi中维护的包,我也将它放在conda - forge 上,供那些喜欢使用conda
而不是pip
.
过去,当我在原料中更新版本和 SHA 时,它会自动将新版本输入conda-forge 频道。然而,我最近的更新似乎已传播到一个名为cf-staging的频道中。
我试图弄清楚它为什么传播到cf-staging
而不是传播,conda-forge
以及我必须做些什么才能让它从cf-staging
conda-forge 移动。有任何想法吗?