我想为我的项目构建一个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
Error: No source urls found for plaidml-keras
在构建conda程序包时,是否有一个好的做法,如何包括仅pip程序包?
答案 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配方中安装依赖项,这些依赖项将 成为您包裹的一部分。这浪费了包装中的空间,并且 增加文件重叠,文件破坏和损坏的风险 包。