• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jenlors
V2EX  ›  程序员

吐槽一下 pypi 的包名重名机制

  •  
  •   jenlors · Aug 25, 2020 · 4602 views
    This topic created in 2262 days ago, the information mentioned may be changed or developed.

    有时候想制作一个 pypi 包并上传到 pypi 上,结果发现包名已经被占用了,更尴尬的是有可能原包根本就很久没维护了,以至于不得不换一个包名,很蛋疼。不知道为什么不像 github 一样弄一个命名空间之类的,也能有效的避免包名抢占之类的事情发生。

    16 replies  •  2020-08-26 20:01:42 +08:00
    superrichman
    superrichman
    Aug 25, 2020 via iPhone
    1
    因为这种方式不 pythonic 。
    simple2025
    simple2025
    Aug 25, 2020
    2
    可能历史遗留问题?
    renmu123
    renmu123
    Aug 25, 2020 via Android
    3
    中心化是这样的,好的包名被抢了又不维护就很让人生气,npm 也是如此
    crella
    crella
    Aug 25, 2020 via Android
    4
    apt 和 yum 都是这样的吧……?
    LokiSharp
    LokiSharp
    Aug 25, 2020 via iPhone
    5
    然后大家都抢命名空间了
    TypeError
    TypeError
    Aug 25, 2020 via Android
    6
    TypeError
    TypeError
    Aug 25, 2020 via Android
    7
    @TypeError 果然有人抢注
    aloxaf
    aloxaf
    Aug 25, 2020
    8
    很多中心化的包管理都这样

    比如 crates.io ( Rust 的中心化包管理平台),就有人恶意批量注 crate 名称。
    当初也讨论了很多,但是最终也没有一个好的解决方案。添加命名空间之类的东西,人家就会抢注命名空间;将命名空间与 GitHub 帐号绑定,又显得太过依赖单一平台……
    iConnect
    iConnect
    Aug 25, 2020 via Android
    9
    算是一种腐化表现?
    CismonX
    CismonX
    Aug 25, 2020 via iPhone
    10
    这点 GitHub 做的就比较好,有个 name squatting policy 。如果你发现有个用户名被长期占用但是又毫无作为,你可以向 GitHub 举报,确认后会将这个账号释放掉。
    Darkside
    Darkside
    Aug 25, 2020
    11
    @CismonX

    补充一下,npm 也有类似的策略,可以在 https://www.npmjs.com/policies/disputes 的 Squatting 章节看到

    不过 GitHub 和 npm 都是商业组织,而 PyPI 是 PSF 下面的非盈利组织,可能没有这么多工作人员
    ClericPy
    ClericPy
    Aug 25, 2020
    12
    我反而挺不喜欢太长的包名... 挺多库的名字起的都挺有意思的, loguru, pydantic, 因为太常用, 所以强行记住了, 也不怕和其他语言重名(跨语言的时候搞混库的名字真的头疼)

    然后, ichrome 名字也让我抢了, 随手搜了一把, 想把名字换了... 重名的也太多了, 早知道一开始就该起一个不容易重名但是有创意的

    PEP 541 -- Package Index Name Retention | Python.org - https://www.python.org/dev/peps/pep-0541/

    Abandoned projects
    A project is considered abandoned when ALL of the following are met:

    owner not reachable (see Reachability above);
    no releases within the past twelve months; and
    no activity from the owner on the project's home page (or no home page listed).
    ruanimal
    ruanimal
    Aug 26, 2020
    13
    pypi 包名重名都不是事,两个包的实际包名(文件夹名称)一样才是神坑,比如 enum 和 enum34
    SmiteChow
    SmiteChow
    Aug 26, 2020
    14
    换个名字易如反掌
    yiyi11
    yiyi11
    Aug 26, 2020 via Android
    15
    @TypeError 别尬黑,川普入驻 v2 了
    Kobayashi
    Kobayashi
    Aug 26, 2020 via Android
    16
    包名不能重名,但 import 时名字可以一样啊。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5084 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 01:41 · PVG 09:41 · LAX 17:41 · JFK 20:41
    ♥ Do have faith in what you're doing.