【发布时间】:2014-12-17 16:05:04
【问题描述】:
PyPI 如何处理区分大小写?
例如,this SO question 记录 PyPI 拒绝新包 foobar 如果 FooBar 已经存在。
针对 pypi.python.org 运行 pip 似乎转换为包的规范案例:
$ pip install django
Downloading/unpacking django
Downloading Django-1.7.tar.gz (7.5MB): 7.5MB downloaded
或者:
$ pip install Django
Downloading/unpacking Django
Downloading Django-1.7.tar.gz (7.5MB): 7.5MB downloaded
但是,在我的 virtualenv 中,似乎只有一些文件属于规范情况:
$ ls ~/pyenvs/test_venv/lib/python2.7/site-packages/ | grep -i django
django/
Django-1.7-py2.7.egg-info/
XML-RPC API 期望什么?我可以一直假设http://pypi.python.org/simple/foo 和http://pypi.python.org/simple/FoO 都会返回HTTP 200 吗?
PyPI 在区分大小写方面的立场是否记录在任何地方?
【问题讨论】:
-
恕我直言,您观察到的“规范”案例不是 pypi 的责任,而是 django 开发人员的责任:他们的包包含一个小写的“django”文件夹(与python styleguide on package names),而他们将pypi包命名为“Django”。
-
pypi 中的包名确实不区分大小写,但我没有找到任何相关文档。