我想运行自己的内部pypi服务器,用于组织内的蛋分发。
我找到了一些项目,例如:
据我了解,pypi.python.org使用名为Cheese Shop的软件。
我的问题:
*编辑:这似乎是规范的http://wiki.python.org/moin/PyPiImplementations。不过,我对反馈感兴趣。
答案 0 :(得分:16)
对于轻量级解决方案,请使用pypiserver。
答案 1 :(得分:14)
奶酪商店的来源可以从https://bitbucket.org/pypa/pypi/src下载。从您链接到的页面,还有一个使用Apache作为“哑”Python包存储库的示例:
# Mount pypi repositories into URI space
Alias /pypi /var/pypi
# /pypi/dev: Redirect for unknown packages (fallback to pypi)
RewriteCond /var/pypi/dev/$1 !-d
RewriteCond /var/pypi/dev/$1 !-f
RewriteRule ^/pypi/dev/([^/]+)/?$ http://pypi.python.org/pypi/$1/ [R,L]
RewriteCond /var/pypi/dev/$1/$2 !-f
RewriteRule ^/pypi/dev/([^/]+)/([^/]+)$ http://pypi.python.org/pypi/$1/$2 [R,L]
# /pypi/stable: Redirect for unknown packages (fallback to pypi)
RewriteCond /var/pypi/stable/$1 !-d
RewriteCond /var/pypi/stable/$1 !-f
RewriteRule ^/pypi/stable/([^/]+)/?$ http://pypi.python.org/pypi/$1/ [R,L]
RewriteCond /var/pypi/stable/$1/$2 !-f
RewriteRule ^/pypi/stable/([^/]+)/([^/]+)$ http://pypi.python.org/pypi/$1/$2 [R,L]
答案 2 :(得分:6)
Warehouse将是您2017年最好的选择。来自项目的自述文件:
Warehouse是一个旨在取代的下一代Python包存储库 当前为PyPI
提供支持的遗留代码库
...
您可以使用
docker
和docker-compose
在本地运行仓库。看到 Getting started 在文档中有关如何设置它的说明。
由The Python Packaging Authority (PyPA)维护,他与Python核心开发团队的成员合作,并且有一个实时版本在https://pypi.org/ 运行,它反映了遗留PyPI(https://pypi.python.org/)。
答案 3 :(得分:4)
有一个名为djangopypi的djangopypi的叉子你可以从https://github.com/popen2/djangopypi2/得到它,我安装它并且适用于我,这个选项是我从一个大约24个替代品的列表中选择我在一个最近搜索,您可以在此处查看列表:http://uyeya.blogspot.com/2013/10/list-of-local-alternatives-of-pypi.html
答案 4 :(得分:4)
我们在企业环境中使用它并且非常满意。它支持复制,私有索引和索引继承。
答案 5 :(得分:3)
更新:crate.io已关闭,域名现在完全不同了。
一个未被提及的项目是https://crate.io/,它似乎非常活跃。它声称是“下一代Python包装索引”,但是他们将它们的存储库很好地分成几块似乎欢迎定制和重新混合到你的目的。
答案 6 :(得分:2)
如果您想要更轻松的解决方案然后部署整个pypi服务器,您可以尝试使用basketweaver生成的服务器索引。
答案 7 :(得分:0)
答案 8 :(得分:0)
可以使用crate源代码,虽然文档可以说是最不可能的,但不存在:
<强> Crate.Web 强>
这是一个提供Python包索引的Django应用程序。使用https://github.com/crateio中的其他几个包,这样您就可以在不使用django的情况下推出自己的版本。
我特别想到一个静态的,我一直认为应该有一个非常简单的方法直接探索一些[预先配置的]存储库并直接从我的github / bitbucket公共和私人回购中购买奶酪,只需要一个简单的(枪炮)过程。
答案 9 :(得分:0)
我遇到了同样的问题,ClueReleaseManager解决了为我托管内部PyPI服务器/自定义Python存储库的问题。
这回答了第二个问题,我想你已经有了第一个问题的答案。