pip -e: No magic underscore to dash replacement

2019-03-18 02:09发布

Somewhere underscores get changed to dashes, if you install with a git repo with "pip install -e ...".

Is there any way to stop this?

I want to automate stuff. I want repo foo_bar to be ~/src/foo_bar, not ~/src/foo-bar.

1条回答
孤傲高冷的网名
2楼-- · 2019-03-18 02:48

From what I can see from this question and this response on the Python mailing list it looks like this is due to numerous naming conventions throughout the Python packaging system, and the compatibility between them.

Pythons setuptools runs safe_name which:

Convert an arbitrary string to a standard distribution name

Any runs of non-alphanumeric/. characters are replaced with a single '-'.

Even though pip, easy_install and PyPi may accept the underscore, when installing it is changed to a single '-' for setuptools standards.

查看更多
登录 后发表回答