How do I use easy_install and buildout when pypi i

2019-03-09 22:51发布

I am using buildout to automatically download and setup the many dependencies of my Plone installation. buildout more or less uses easy_install to download and install a bunch of Python eggs. This usually works, but it doesn't work if any of the dependencies cannot be downloaded or if I want buildout to find an internal package not appropriate for pypi. How can I set up my own local version of pypi to automatically mirror the packages I need? Will it still depend on third-party servers for packages that use pypi for their metadata but not their code?

7条回答
一夜七次
2楼-- · 2019-03-09 22:53

You can also use a mirror. Put this in the "[global]" section of "~/.pip/pip.conf":

index-url = http://d.pypi.python.org/simple/

This is a recent feature as announced here.

查看更多
闹够了就滚
3楼-- · 2019-03-09 22:53

PyPI has had mirroring since mid 2010 http://pypi.python.org/mirrors

查看更多
仙女界的扛把子
4楼-- · 2019-03-09 22:58

This page shows how to use the alternate mirror mentioned in @moraes post, but for easy_install, buildout and virtualenv as well as pip:

http://jacobian.org/writing/when-pypi-goes-down/

查看更多
够拽才男人
5楼-- · 2019-03-09 22:58

Configure index in buildout.cfg, e.g.

[buildout]
index = http://a.pypi.python.org/
find-links = 

More mirrors on : http://www.pypi-mirrors.org/

查看更多
ゆ 、 Hurt°
6楼-- · 2019-03-09 22:59

Here are instructions on how to setup your own PyPi mirror. The homepage of this project is here. There also seems to be a growing number of mirrors out there.

For instructions on how to setup your own package index, check out this blog post where one solution is explained at the end. Then you can also host your own internal packages in there. The advantage is also that the versions are fixed that way. (For a way to pin the versions directly in buildout, check out this post).

If there is only metadata on PyPI and the archive is stored somewhere else you might of course copy that over to your index as well. If you just use a PyPI mirror I assume that you still need access to these servers.

查看更多
Evening l夕情丶
7楼-- · 2019-03-09 22:59

For the packages, that you need to install in your virtualenv usually through a requirements.txt (or may be individually), you have to override your pip.conf file, usually located at ~/.pip/pip.conf

In your pip.conf file:

[global]
index-url=https://pypi.python.org/simple/

[install]
trusted-host=pypi.python.org

Here you can provide the url of your own custom version of pypi if needed.

If you wish to also use another pypi server while creating virtualenv through easy_install you need to override pydistutils.cfg file usually located at ~/pydistutils.cfg

In pydistutils.cfg file:

[easy_install]
index-url=https://pypi.python.org/simple/

This would ensure to create your venv with the url of pypi mentioned in pydistutils.cfg. Here, we're telling easy_install to use https://pypi.python.org/simple/ for creating venvs.

查看更多
登录 后发表回答