问题标签 [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.
python - conda build 如何使用子包
我正在尝试使用 conda 构建我的 python 包,但遇到了一些麻烦。
该软件包基本上是两个子软件包,目前,如果使用 setuptools 与 python 一起安装,它可以正常工作。我可以很容易地调用子包:
python -m my_package.the_subpackage
我真正的问题首先是,我必须对 conda build 做些什么才能将其转换为我的 conda 包。
其次,假设我的子包是用 conda 安装的,我该如何调用它?是一样的,还是my_package the_subpackage
类似的?
提前感谢您的帮助!
python - 在 conda-build 配方中排除特定的 Python 版本
我有一个使用conda-build构建的私有 Python 包,它依赖于pywinauto。这个包有一些 Python 3.7.6 的问题,记录在这里:https ://github.com/pywinauto/pywinauto/issues/868 。该问题似乎已在 2020 年 3 月某个时间发布的 Python 3.7.7 中得到解决。
我的问题是现在我无法构建我的包,因为 conda-build 在构建和导入测试期间使用了最新版本的 Python 3.7(即 3.7.6)。有没有办法在 conda-build 配方中排除特定的 Python 版本,比如python_requires
(https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires)关键字setup.py
?
conda - conda meta.yaml 要求从文件运行部分依赖项
在 meta.yaml 文件中,我们有 requirements->run 部分,其中依赖的运行时包以以下格式定义:
是否可以将这些依赖项指定为像 requirements.txt 这样的文件的一部分,并在 meta.yaml 文件中引用它。
python - 如何使 conda-build 正常工作并找到 setup.py?
我正在尝试创建一个 anaconda python 包。我的meta.yaml
样子是这样的:
build.sh
:
文件夹结构:
我在运行时遇到的错误conda build .
如下:
我究竟做错了什么?
python - conda-build 不喜欢这个版本号的什么地方?
Python / Anaconda 新手在这里。我正在尝试使用包和多个环境。
现在我正在尝试安装可通过 PyPi 获得的包“ibm_watson”。到目前为止的故事是这样的:
这行得通,但它生成了一个 conda-build 不喜欢的 meta.yaml。它有一个版本字符串“>=2.0”,带有一个多余的逗号。我不得不手动编辑它。该错误发生在哪里?无论如何,我已经过去了。这就是我现在卡住的地方。
好的。它认为我需要一个至少为 2.5.3 的 python_dateutil 版本。但问题是:
在我看来,似乎 2.8.0 应该满足大于 2.5.3 的要求。那么是什么导致了这个错误,我该如何解决呢?
(实际上,我忘记了。ibm_watson 也有另一个依赖错误,需要 ibm_cloud_sdk_core。所以实际上这个特殊错误发生在尝试构建 THAT 包之后。但也在 ibm_watson 的原始构建尝试中)。
python-3.x - 如何使用 conda-build“使用 CLI 选项进行构建”?
我是 Python 新手,Anaconda 环境,conda,pip,所有这些,所以如果这些是简单的问题,请多多包涵。我已经问过几个关于这个安装的问题,到目前为止已经解决了。这是我以前的问题。我所有的问题都与 conda-build 元文件有关,这些元文件不起作用,需要一些手工编辑才能成功。
背景:
我正在尝试在我的 Python 中安装名为 ibm-watson 的包,该包位于从我的基本环境克隆的单独 conda 环境中。这是为了支持 Coursera 课程。课件通过 pip 安装在其自己的 Jupyter 窗口中构建此包。我想在自己的环境中构建示例,并且在很多人的推荐下我在 Anaconda 工作。
当我第一次遇到我无法弄清楚的 conda-build 问题时,我决定尝试 pip。这行得通,但导致了其他问题(在线文章警告过)。Conda(我读过)不知道用 pip 安装的东西,这会破坏它管理包和环境的能力。所以我决定退出 pip 安装并尝试让它与 conda 一起工作。
第一个问题:为什么 pip install 可以正常工作并递归地构建所有依赖项,而 conda-build 却不能?我只是没有使用正确的 conda 选项吗?
所以这里是我迄今为止发现的 meta.yaml 问题,并在这里的人们的帮助下解决了。
- 表示“>=2.0”的版本字符串,带有多余的逗号。
- 带有下划线但实际上需要连字符的包名称
- 我通过一个一个下载所需的包并构建来修复依赖关系,经常在 meta.yaml 中处理上述相同的问题
- 最近,这个字符串抛出了一个错误,直到我猜到引号是问题所在:
typing; # [ py <'3.5' ]
- conda 文档中的安装命令
conda install --use-local my-package
也不起作用,根据 Github 上的讨论,我改为使用conda install -c ${CONDA_PREFIX}/conda-bld/my-package
第二个问题:为什么 conda 过程有这么多错误?IBM 开发人员只是在他们的测试中粗心大意,还是 conda 有问题,还是我使用了所有这些错误?
最后,真正的问题
我必须构建的最后一个依赖项是从 PyPi 安装的 python-dotenv。我和其他人一样用 conda 构建了它:
这一直通过构建,但随后引发此错误:
由于我没有使用 pip,我该如何做它要求我做的事情?我试着做conda-build "python-dotenv[cli]"
,但得到“没有适用于 python-dotenv [cli] 的有效食谱”。
c++ - Conda Build 打包 C++ 项目失败
我正在尝试在这里为库创建一个配方:https ://github.com/hyrise/sql-parser
我正在为 OSX 10.13 构建。
我的build.sh
样子是这样的:
我还按照这里设置了我的 SDK:https ://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html#macos-sdk
我可以在 conda build 之外很好地构建项目,但是 conda build 失败并出现以下问题:
我可以看到 wchar.h 在那个目录中
对此的任何帮助将不胜感激。
conda - 如何在 conda 包中设置环境变量,以便在激活包含该包的环境时设置它们?
我知道我可以在环境中的 activate.d 目录中创建一个 env_vars.(bat|sh) ,但是我希望将变量作为包的一部分包含在内,因此如果将包换成不同的版本,它会改变环境变量。
根据此处的文档:https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#saving-environment-variables,我应该能够创建一个 env_vars .(bat|sh) 作为 conda 包的一部分
这种类型的脚本文件可以是 conda 包的一部分,在这种情况下,当包含该包的环境被激活时,这些环境变量将变为活动状态。
您可以随意命名这些脚本。但是,多个包可能会创建脚本文件,因此请务必使用其他包不使用的描述性名称。一种流行的选择是以 packagename-scriptname.sh 的形式为脚本命名,或者在 Windows 上为 packagename-scriptname.bat。
我已经尝试创建 env_vars.bat 和 packagename-env_vars.bat ,然后按照文档中的描述设置环境变量,但是安装包和激活环境不会创建变量。我还需要做其他步骤吗?
我的 meta.yml:
我的 env_vars.bat:
python - 如何修复我的自定义 conda 包的 conda UnsatisfiableError?
我正在尝试打包我的 python 代码以在 Anaconda 云上发布。文件夹结构如下所示:
meta.yaml
文件:
我用于构建包的命令(haasad 是 pypardiso 包的通道名称):
conda build conda-recipe -c haasad
构建成功,我已在此处上传:
https ://anaconda.org/monomonedula/sten
但是,在使用本地构建安装后:
conda install sten --use-local -c haasad
和上传到云的构建
conda install -c monomonedula sten -c haasad
我遇到了几个问题。
- 使用 python 3.7 时,我无法导入我的包,即使它列在中
conda list
(我已经仔细检查了所有内容,我使用的是正确的解释器)。 - 使用 python 3.8 时,我可以导入和使用它,但由于未知原因我无法安装 stellargraph。错误信息:
输出conda search sten -c monomonedula --info
:
输出conda search stellargraph -c stellargraph --info
:
我在这里缺少什么以及如何正确包装它?