从本地python包构建conda包

时间:2017-02-15 20:04:22

标签: python package conda

我找不到一个完整的示例,说明如何从我编写的python包创建conda包,以及如何使用conda install安装包,而它是在我的计算机上而不是在anaconda云上。 我正在寻找不使用pypi的conda骨架的例子,但是在我的windows机器上使用python包,源代码必须在我的Windows机器上,而不是在pypi或其他云上。 任何帮助都会很适合。 非常感谢

4 个答案:

答案 0 :(得分:2)

我认为,如果您使用可编辑的方式使用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']
)

上面的文件位于项目的根目录(我做一个名为project的github存储库,并在其中创建了一个项目project,其中包含我在那里开发的所有软件包。

我相信pip -e .也会这样做。您不需要任何须藤。

答案 1 :(得分:1)

即使没有配方,您也可以使用python setup.py bdist_conda轻松生成本地python包中的conda包:

  

使用setup.py bdist_conda,您可以使用conda build来构建Python安装包而不是conda。这是一种在不使用配方的情况下构建包的快速方法,但它有局限性。该脚本仅限于构建中使用的Python版本,并且不像使用配方那样可重现。我们建议使用带有conda build的配方。

https://conda.io/projects/conda-build/en/latest/source/build-without-recipe.html

答案 2 :(得分:0)

可以使用以下命令在元数据文件meta.yaml中指定本地源目录:

  source:
     path: ../src

https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#source-from-a-local-path

此外,要打包自己的程序,您必须在文件构建中定义构建和安装它所需的步骤(例如,对使用setuptools的python脚本运行setup.py install:https://setuptools.readthedocs.io/en/latest/index.html)。 sh for linux和bld.bat for windows。

答案 3 :(得分:0)

我在Anaconda Enterprise文档中找到了一些有用的信息。链接的两个视频:

是我在搜索中发现的最好的东西。