如何将conda骨架与未上传到pypi的包一起使用?

sor*_*rin 6 python pypi anaconda conda

我正在尝试使用conda skeleton为一些未上传到pypi的python包构建conda包.

我无法将它们上传到pypi,我不想部署本地pypi服务器.它们存储在本地机器上,是最近构建的结果,现在我也想构建它们的conda包.

我怎样才能做到这一点?我尝试了各种选项,--pypi-url但我得到一个OSError: unsupported XML-RPC protocol告诉我骨架需要一个真正的PYPI,并且它无法真正处理本地存储库.PIP可以毫无问题地使用本地目录.

克服这个问题的方法是什么?

kar*_*k r 7

您实际上不必使用 conda 骨架。我相信您在 conda env 中构建了一个模块/包,并且您想要打包它。如果是这样,那么构建一个 meta.yaml 文件和一个 build.sh (macOS) 就足够了。

例如:假设您有一个名为 condabuild_sample 的项目。

cd condabuild_sample

使用您喜欢的编辑器并创建一个新文件 meta.yaml 我使用 vim

vi元yaml

*更新meta.yaml:

package:
     name: <your package name>
     version: <ideally your git version>

source:
     git_path: <git link> 
requirements:
     run:
         - <a list of project import requirements>
about:
     home: <project home>
     license: <custom license file>*
Run Code Online (Sandbox Code Playgroud)

实际上,只需要标签:package。其余的一切您都可以根据您的项目需求进行定制。

然后创建另一个文件 build.sh,并提供包的构建说明。build.sh 作为 bash 执行。但您可以将其留空以进行学习和测试。

获得 meta.yaml 和 bash.sh 后,运行以下命令

conda 构建 condabuild_sample

如果没有错误,包将被添加到 conda 设置中的目录中。一旦此步骤成功完成,

conda install --use-local condabuild_sample

这将添加到本地可用的 conda 软件包列表中。现在运行,确认,

康达名单

您会发现列出的软件包带有频道=本地。

您还可以使用 anaconda 客户端上传到 anaconda。

我使用的参考链接: Conda Skeleton Example