Django Step by Step

写出Django app来 ...

↑我也要推荐

搭建自己的 pypi mirror

发布时间:2013-10-04 23:53:51, 关注:+7120, 赞美:+15, 不爽:+7

本文标签: pypi

原始出处: 泥泞的沼泽

搞OpenStack的开发者, 可能都会有一个困惑, 就是每次用easy_install下载3rd party的包, 总是很慢, 而且还经常失败. 那么, 有没有什么办法能解决这个问题呢?

答案当然是肯定的了~~~目前有3种方法可以解决这个问题:

  1. 使用国内的pypi mirror
  2. Clone一个官方源
  3. 搭建可配置的本地源

国内有很多网站都在同步官方的mirror, 比如豆瓣, 比如清华大学, 比如v2ex, 大家可以上http://www.pypi-mirrors.org/查看

如果想clone一个官方源的话, 也有很多3rd party的包可以做到, 比如z3c.pypimirror, 还有bandersnatch.

剩下的就是搭建可配置的本地源了. 本文也主要讲如何根据自己的需求, 搭建简单的本地源. Clone官方源时间很长, 而且失败的几率很大(经常会有包漏更新的情况). 根据上次我自己的经验, 同步一次官方源时间大概在10个小时(根据网速决定). 所以还是建议大家放弃这种方法吧.

搭建简单的本地源真的是非常简单, 我们只需要装一个包即可: pip2pi. 装好后, 我们就可以根据自己的需求创建包仓库了.

  • 首先, 创建包目录/var/lib/packages.
  • 接着, 我们用命令pip2tgz /var/lib/packages <package name>来下载包, 这里, package name可以是包名字, 比如sqlalchemy, 也可以是带版本的包名, 比如sqlalchemy==0.7.8. 如果包很多的话, 可以用-r requirement.txt来一次下载多个包, 就跟pip install -r requirement.txt一样.
  • 下载好需要的包了, 我们就可以为所有的包创建索引了, 使用命令pip2pi /var/lib/packages. 这样, /var/lib/packages就多了一个simple目录, 里面就是所有的包索引了
  • 最后一步就是配置web页面了, 这里大家选择apache或者nginx都可以, 将目录指向/var/lib/packages即可.

要使用我们搭建好的源, 可以在输入pip的时候, 加上-i http://127.0.0.1/pypi/simple就行了. 如果希望所有的pip都使用这个索引的话, 可以修改~/.pip/pip.conf, 没有的话创建就好了, 内容就写

[global]
index-url = http://127.0.0.1/pypi/simple

享受自己的源吧, 要比官方快很多哦!

如果你觉得本站对你有帮助,欢迎向本站赞助 :P

使用支付宝捐赠

Copyright© Python4cn(news, jobs) simple-is-better.com, 技术驱动:powered by web.py 空间主机:Webfaction

版权申明:文章转载已注明出处,如有疑问请来信咨询。本站为 python 语言推广公益网站,与 python 官方没有任何关系。

联系/投搞/留言: en.simple.is.better@gmail.com 向本站捐赠