托管自己的简单存储库

如果您希望托管自己的简单存储库 1, 您可以使用类似的软件包 devpi 或者,您可以使用简单地创建适当的目录结构,并使用任何可以提供静态文件并生成autoindex的Web服务器。

在这两种情况下,由于您将托管一个可能不在您的用户默认存储库中的存储库,所以您应该在项目说明中指示他们适当地配置其安装程序。例如,使用pip::

pip install --extra-index-url https://python.example.com/ foobar

此外,它是 高度地 建议您使用有效的HTTPS为存储库提供服务。此时,用户安装的安全性取决于使用有效HTTPS设置的所有存储库。

“手动”存储库

目录布局相当简单,在根目录中,您需要为每个项目创建一个目录。这个目录应该是项目的规范化名称(由PEP503定义)。在每个目录中,只需放置每个可下载的文件。如果您有项目“foo”(版本为1.0和2.0)和“bar”(版本为0.1),那么您最终应该得到如下结构:

.
├── bar
│   └── bar-0.1.tar.gz
└── foo
    ├── Foo-1.0.tar.gz
    └── Foo-2.0.tar.gz

一旦您有了这个布局,只需配置您的Web服务器,以在启用autoindex的情况下为根目录提供服务。例如,在 Twisted 你只需要跑 twistd -n web --path . 然后指示用户将URL添加到安装程序的配置中。


1

有关简单存储库协议的完整文档,请参阅PEP 503。