使用conda-build构建conda软件包时,如何包括仅pip软件包?

时间:2020-09-09 03:35:15

标签: python conda pypi conda-build

我想为我的项目构建一个Conda软件包。但是,有一个软件包仅适用于点子(未上传到Conda频道)。使用conda-build命令时如何包含仅pip包?

我尝试使用Conda框架从PyPI URL构建程序包,但是它不起作用,因为PyPI网站上的文件是.whl文件,而不是像conda框架教程中的tar.gz文件。我该如何解决这个问题?

这是我在运行conda构建时遇到的错误。

conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {'plaidml'}

,并使用conda skeleton pypi plaidml-keras

构建plaidml软件包的框架
Error: No source urls found for plaidml-keras

在构建conda程序包时,是否有一个好的做法,如何包括仅pip程序包?

1 个答案:

答案 0 :(得分:1)

我环顾了conda-build文档,看来您可以使用转轮作为依赖项来构建conda软件包。来自conda-build user guide docs

要从wheel文件构建conda软件包,请在.whl文件中安装 康达食谱的bld.bat或build.sh文件。

您可以在conda的源代码部分中下载.whl文件。 食谱的meta.yaml文件。

您可以将URL直接放入pip install命令中。

示例:TensorFlow的conda配方中包含pip install命令 build.sh以及.whl文件的URL。 meta.yaml文件不 下载或列出.whl文件。

注意

仅点子安装一个所需的软件包很重要。每当 可能的话,使用conda而不是pip安装依赖项。

我们强烈建议在pip安装中使用--no-deps选项 命令。

如果运行不带--no-deps选项的pip install,pip通常会 在您的conda配方中安装依赖项,这些依赖项将 成为您包裹的一部分。这浪费了包装中的空间,并且 增加文件重叠,文件破坏和损坏的风险 包。