29

如果您使用带有“pip install -e ...”的 git repo 安装,则在某处下划线会更改为破折号。

有没有办法阻止这种情况?

我想自动化的东西。我希望回购foo_bar~/src/foo_bar,不是~/src/foo-bar

4

2 回答 2

18

从我从这个问题和Python 邮件列表上的回复中可以看出,这似乎是由于 Python 打包系统中的众多命名约定以及它们之间的兼容性。

Pythonssetuptools运行safe_name

将任意字符串转换为标准分布名称

任何非字母数字的运行/。字符替换为单个“-”。

尽管pip, easy_installandPyPi可以接受下划线,但在安装时将其更改为单个 '-' 用于 setuptools 标准。

于 2013-10-02T07:17:43.770 回答
2

请注意,上面的答案是不正确的。代码中的确切正则表达式是re.sub('[^A-Za-z0-9.]+', '-', name). 但是如果你尝试pip install foo!bar你会得到一个很大的解析错误,所以这也不是真的。

于 2019-06-04T11:52:24.037 回答