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
.
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.
Note that the answer above is incorrect. The exact regex from the code is re.sub('[^A-Za-z0-9.]+', '-', name)
. But if you try pip install foo!bar
you get a big parse error so this isn't really true either.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With