吐槽一下 pypi 的包名重名机制
有时候想制作一个 pypi 包并上传到 pypi 上,结果发现包名已经被占用了,更尴尬的是有可能原包根本就很久没维护了,以至于不得不换一个包名,很蛋疼。不知道为什么不像 github 一样弄一个命名空间之类的,也能有效的避免包名抢占之类的事情发生。
有时候想制作一个 pypi 包并上传到 pypi 上,结果发现包名已经被占用了,更尴尬的是有可能原包根本就很久没维护了,以至于不得不换一个包名,很蛋疼。不知道为什么不像 github 一样弄一个命名空间之类的,也能有效的避免包名抢占之类的事情发生。
比如 crates.io ( Rust 的中心化包管理平台),就有人恶意批量注 crate 名称。
当初也讨论了很多,但是最终也没有一个好的解决方案。添加命名空间之类的东西,人家就会抢注命名空间;将命名空间与 GitHub 帐号绑定,又显得太过依赖单一平台……
补充一下,npm 也有类似的策略,可以在 https://www.npmjs.com/policies/disputes 的 Squatting 章节看到
不过 GitHub 和 npm 都是商业组织,而 PyPI 是 PSF 下面的非盈利组织,可能没有这么多工作人员
然后, 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).