我有一个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
这将允许我指定软件包的版本或操作系统。
在这种情况下,“存储库”的含义就是一个文件夹,其中包含一系列按正确顺序排列的静态文件。
答案 0 :(得分: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
有关如何构造HTML页面的确切规范,请参见PEP 503 -- Simple Repository API。