Python 当pypi关闭时,如何使用easy_安装和构建?
我正在使用自动下载和设置Plone安装的许多依赖项。buildout或多或少地使用easy_install下载并安装一堆Python鸡蛋。这通常是可行的,但如果任何依赖项都无法下载,或者如果我希望buildout找到一个不适合pypi的内部包,它就不起作用了。我如何设置我自己的本地版本的pypi来自动镜像我需要的包?对于使用pypi作为元数据而不是代码的包,它仍然依赖于第三方服务器吗。这个项目的主页是。似乎还有越来越多的镜子出现在那里 有关如何设置您自己的包索引的说明,请查看最后解释的解决方案。然后,您还可以在其中托管自己的内部包。其优点还在于,这些版本是以这种方式固定的。(有关直接在构建中锁定版本的方法,请查看)Python 当pypi关闭时,如何使用easy_安装和构建?,python,plone,easy-install,buildout,Python,Plone,Easy Install,Buildout,我正在使用自动下载和设置Plone安装的许多依赖项。buildout或多或少地使用easy_install下载并安装一堆Python鸡蛋。这通常是可行的,但如果任何依赖项都无法下载,或者如果我希望buildout找到一个不适合pypi的内部包,它就不起作用了。我如何设置我自己的本地版本的pypi来自动镜像我需要的包?对于使用pypi作为元数据而不是代码的包,它仍然依赖于第三方服务器吗。这个项目的主页是。似乎还有越来越多的镜子出现在那里 有关如何设置您自己的包索引的说明,请查看最后解释的解决方案。
如果PyPI上只有元数据,并且归档文件存储在其他地方,那么您当然也可以将其复制到索引中。如果您只使用PyPI镜像,我假设您仍然需要访问这些服务器。您也可以使用镜像。将其放在“~/.pip/pip.conf”的“[global]”部分:
这是最近发布的一项功能。此页面显示了如何使用@moraes post中提到的备用镜像,但为了便于安装、构建、虚拟化以及pip:
自2010年年中以来,PyPI已在
buildout.cfg
中配置index
,例如
[buildout]
index = http://a.pypi.python.org/
find-links =
更多镜像:对于zc.buildout:使用其本地下载缓存功能。缓存的内容主要有三种:
- 外部扩展,即
- 来自某个distserver的蛋,即pypi
- 使用zc.buildout提供的下载基础设施从zc.recipe.cmmi或类似配方下载
.buildout
文件夹
在此文件夹中创建文件夹扩展缓存
和下载
在.buildout
中创建一个文件default.cfg,其中包含:
[buildout]
extends-cache = /home/USERNAME/.buildout/extends-cache
download-cache = /home/USERNAME/.buildout/downloads
所以你有:
.buildout/
├── default.cfg
├── downloads
└── extends-cache
就这样。确保不要在特定构建中覆盖default.cfg中的这两个变量。首次成功运行构建后,后续运行将以脱机模式运行/bin/buildout-o
作为一种副作用,如果在脱机模式下使用,即当不需要新下载但某些配置发生更改时,构建速度要快得多
除此之外,运行自己的pypi镜像也是有意义的。作为另一个信息来源,您可能对我不久前写的关于此主题的文章感兴趣:对于需要通过
requirements.txt
安装在virtualenv
中的软件包,您必须覆盖pip.conf
文件,通常位于~/.pip/pip.conf
在pip.conf
文件中:
[global]
index-url=https://pypi.python.org/simple/
[install]
trusted-host=pypi.python.org
[easy_install]
index-url=https://pypi.python.org/simple/
在这里,如果需要,您可以提供自己的自定义pypi版本的url
如果您希望在通过easy\u install
创建virtualenv
时也使用另一个pypi服务器,则需要覆盖pydistutils.cfg
文件,该文件通常位于~/pydistutils.cfg
在pydistutils.cfg
文件中:
[global]
index-url=https://pypi.python.org/simple/
[install]
trusted-host=pypi.python.org
[easy_install]
index-url=https://pypi.python.org/simple/
这将确保使用
pydistutils.cfg
中提到的pypi url创建您的venv
。在这里,我们告诉install from cache=true
,同时如上所述指定了下载缓存
,它工作正常。