【发布时间】:2019-07-02 23:29:49
【问题描述】:
我正在尝试使我的 git 存储库 pip 可安装。为此,我正在重组 repo 以遵循正确的约定。通过查看其他存储库,我的理解是,我应该将所有源代码放在与存储库名称同名的包中。例如。如果我的存储库名为myrepo,那么源代码将全部放入一个也称为myrepo 的包中。
为了便于阅读,我的存储库中有一个连字符:例如my-repo。所以如果我想为它创建一个同名的包,它也会有一个连字符。 In this tutorial 它对 python 包名称说“不要使用连字符”。但是,我见过一些成熟的软件包,例如 scikit-learn,它们的名称中有连字符。我注意到的一件事是,在scikit-learn repo 中,包名称与 repo 名称不同,而是称为sklearn。
我认为我上面的讨论归结为以下问题:
- 打包repo时,repository名和包名有什么关系?名字不匹配时有什么要注意的吗?
- 可以在包名称中使用连字符吗?存储库名称呢?
- 如果
scikit-learn的包名是sklearn,那我安装的时候怎么会用pip install scikit-learn而不是pip install sklearn呢?
【问题讨论】:
-
不使用连字符是python的风格规则,就是PEP 8
-
是的,似乎在
scikit-learn中他们使用sklearn作为包名。我不明白为什么在 pypi 中它被称为scikit-learn虽然:pypi.org/project/scikit-learn -
不知道为什么允许它,但在 pypi.org 上的名称中,连字符并不重要
标签: python scikit-learn pip package pypi