从本地Python包构建Conda包

22

我找不到一个完整的例子,说明如何从我编写的Python包创建Conda包,以及如何使用conda install安装该包,而它在我的电脑上而不是anaconda云上。

我正在寻找一个例子,不使用来自pypi的conda骨架,而是使用我Windows机器上的Python包,源代码必须在我的Windows机器上而不是在pypi或其他云上。

非常感谢任何帮助。


2
我通常在源目录中创建一个名为conda.recipe的目录,并使用此meta.yaml文件模板:https://github.com/bryanwweber/UConnRCMPy/blob/master/conda.recipe/meta.yaml 免责声明:这是我编写的一些软件。我会尽快写一个更完整的示例。 - darthbith
2
然后,您可以通过编写(从主源目录)conda build conda.recipe来构建软件包,然后安装conda install --use-local。如果您想完全跳过软件包构建并仅安装软件包作为开发版本(类似于pip -e),则可以使用conda develop . - darthbith
感谢您的帮助。 - user1470957
1
在同一代码库中:https://github.com/bryanwweber/UConnRCMPy/blob/master/setup.py - darthbith
为什么 Python 中的所有东西都要这么令人困惑和复杂啊? :-/ - t3chb0t
显示剩余2条评论
4个回答

7

如果您使用可编辑的方式使用conda安装包,那么这应该是很简单的。我做了以下操作:

conda develop .

在项目目录中(即我的setup.py文件所在的位置)。
如果你想要一个setup.py的例子,这是我的:
from setuptools import setup
from setuptools import find_packages

setup(
    name='ml', #project name
    version='0.1.0',
    description='ML',
    #url
    author='Me',
    author_email='charlie_parker@mit.edu', #not a real e-mail
    license='MIT',
    packages=find_packages(),
    install_requires=['torch','numpy','scikit-learn','scipy','matplotlib','pyyml']
)

上面的文件位于项目的根目录下(我在Github存储库中命名为project,并在其中创建了一个名为project的项目,并在此处开发了所有软件包)。
我认为pip -e .会执行相同的操作。您不需要使用sudo命令。

4

3
你可以使用python setup.py bdist_conda命令轻松将本地Python包生成为一个Conda包,即使没有配方:

你可以使用setup.py bdist_conda来构建Python安装包而不是Conda包。这是一种快速构建包的方法,但它有限制。脚本仅限于在构建中使用的Python版本,并且不如使用配方那样可重复。我们建议使用具备配方的Conda构建。

https://docs.conda.io/projects/conda-build/en/latest/user-guide/recipes/build-without-recipe.html


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接