使用 conda 设置项目以在 Github 和 PyPi 上发布

Posted

技术标签:

【中文标题】使用 conda 设置项目以在 Github 和 PyPi 上发布【英文标题】:Setting up a project with conda for publishing on Github and PyPi 【发布时间】:2014-07-11 04:48:23 【问题描述】:

我即将开始一个项目,我相信它可能会成为我在 Github 和 PyPi 上发布的第一个项目,我正在尝试以“正确”的方式来做这件事,但我无法找到关于这。也许问题在于我发现太多要阅读的内容,不确定要遵循什么建议。

我在理解我应该如何设置它时遇到了一些麻烦。我的理解是,使用 Anaconda 你应该使用 conda create -p path/to/place/environment 作为 virtualenv 的替代品。现在,请记住,我以前也从未使用过 virtalenv,所以这个概念对我来说有点新鲜,但本质上这是为了将所有工作都包裹在自己的气泡中,确保自己保留所有依赖项。

所以,我将从conda create -p ~/projects/myproj 开始。在这个文件夹中,我稍后将放置我项目的其余文件。每当我开始开发项目时,我都必须确保运行 source activate ~/projects/myproj,对吗?从这里开始,我想我主要有两个问题:

    我应该将环境中创建的哪些文件放入我的 .gitignore 中,我应该提交哪些文件? 在 PyPi 上发布需要哪些文件,我应该确保从第 1 天起将其保持在“PyPi 快乐”的顺序中,还是在发布部分实际变得相关时首先有趣?创建的 conda 环境中是否存在与 PyPi 上传冲突的内容?

我认为现在就可以了。如果您有任何其他关于从一开始就保持项目清洁和健康的一般建议,我很乐意接受!

【问题讨论】:

您也可以只使用conda create -n 而不是conda create -p,这只会在标准位置创建环境。 【参考方案1】:

您的问题 1 对我来说没有多大意义。 conda create 创建开发包。你不应该把它们和你正在开发的代码放在同一个地方。

至于 2,您只需要一个带有标准内容的 setup.py(http://python-packaging-user-guide.readthedocs.org/en/latest/ 可能与任何东西一样好)。

【讨论】:

我一定是从 virtualenv 推断出来的,你应该把所有东西都放在创建的文件夹中。谢谢! 我也不知道你为什么要用 virtualenv 来做这件事。通常,您编写的代码与您用于运行该代码的程序位于完全不同的位置,因为一个是您想要在版本控制下编辑和跟踪的东西,另一个只是其他人提供的可执行文件。

以上是关于使用 conda 设置项目以在 Github 和 PyPi 上发布的主要内容,如果未能解决你的问题,请参考以下文章

Conda Build 打包 C++ 项目失败

Conda安装mayavi

Conda安装mayavi

如何设置项目以在 npm 包上开发

Conda 构建:github 和 bitbucket

如何使用 vscode 设置 jest typescript 测试以在调试模式下运行