【问题标题】:Is PyPI case sensitive?PyPI 区分大小写吗?
【发布时间】: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/foohttp://pypi.python.org/simple/FoO 都会返回HTTP 200 吗?

PyPI 在区分大小写方面的立场是否记录在任何地方?

【问题讨论】:

  • 恕我直言,您观察到的“规范”案例不是 pypi 的责任,而是 django 开发人员的责任:他们的包包含一个小写的“django”文件夹(与python styleguide on package names),而他们将pypi包命名为“Django”。
  • pypi 中的包名确实不区分大小写,但我没有找到任何相关文档。

标签: python pypi


【解决方案1】:

不,pip 不区分大小写。

所有分布名称的比较必须不区分大小写,并且必须认为连字符和下划线是等价的。

来自PEP 426

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2012-10-03
    • 2011-09-24
    • 2017-10-19
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多