1

我有一个 CPython 扩展包的分支,编译需要几个小时,所以我想在某个地方部署预编译的轮子以供下载,而不是从源代码编译。

我也知道我可以托管pypiserver自己,但是我有 CDN 服务,基本上是免费的,我想知道我是否可以在我的 CDN 上以某种方式“静态”部署轮子,然后执行以下操作:

pip install -i https://<my cdn of choice> SomePackage

代替:

pip install https://<my cdn of choice>/SomePackage-1.0-py2.py3-none-any.whl

这将允许我指定软件包版本或操作系统。

这意味着在这种情况下,“存储库”只是一个包含一堆按正确顺序排列的静态文件的文件夹。

4

1 回答 1

1

您可以在 CDN 的根目录创建一个“简单”索引,并使每个项目的文件结构与pip预期的“简单”索引相同,这本质上是:

simple
├── SomePackage
│   ├── SomePackage-1.0-py2.py3-none-any.whl
│   └── index.html
└── index.html

然后你可以这样做:

$ pip install -i https://<my cdn of choice>/simple SomePackage

请参阅PEP 503 -- Simple Repository API以了解 HTML 页面应如何构建的确切规范。

于 2018-09-09T17:50:09.290 回答