setuptools、easy_install与自定义pypi服务器
我有一个自定义的 pypi 服务器,现在想知道怎么把所有指向 https://pypi.python.org/ 的请求都转到我的自定义服务器上?
我希望用户在使用 pip
或 easy_install
安装包的时候,不用记得加上 -i
或 -f
这些参数,同时也希望在有人用 python setup.py install
和 setuptools
的时候,能自动使用我设置的服务器,这样他们在 setup.py
里写的 install_requires
就能正常工作。
有没有什么全局的配置或者设置,可以让这些不同的方法都指向我的本地服务器?我想过用一些网络代理的方式,把 http://pypi.python.org/
的请求转到我的自定义服务器上,但可惜这不是一个可行的选项。
谢谢!
2 个回答
1
你需要修改两个文件:
对于 distutils
配置文件:文档
~/.pydistutils.cfg
是 Linux 系统的配置文件,$HOME/pydistutils.cfg
是 Windows 系统的配置文件。
文件内容:
[easy_install] index_url = YOUR_URL
这个配置和像 python setup.py install
这样的命令有关。
对于 pip
配置文件:文档
~/.pip/pip.conf
是 Linux 系统的配置文件,$HOME/pip/pip.conf
是 Windows 系统的配置文件。
文件内容:
[global] index-url = YOUR_URL
这个配置和 pip install mypackage
这样的命令有关。
7
下面的配置会关闭 pypi 这个软件库的索引,让你的索引成为 pip
和 easy_install
唯一使用的索引。setuptools 的 install
命令其实就是一个快捷方式,用来在当前项目上运行 easy_install
命令。所以,这个方法也可以用。
# Add the following to ~/.pydistutils.cfg for easy_install
[easy_install]
index_url = http://localhost:8000/
# Add the following to ~/.pip/pip.conf for pip
[global]
index-url = http://localhost:8000/
想了解更多信息,可以查看 easy_install 和 pip 的文档。
你可以给用户提供一个简单的 Python 脚本,帮助他们创建这些配置文件。