如何在自定义 CDN 服务器上静态部署 python ***包?
Posted
技术标签:
【中文标题】如何在自定义 CDN 服务器上静态部署 python ***包?【英文标题】:How do I deploy a python wheels package statically on a custom CDN server? 【发布时间】:2019-02-12 07:28:21 【问题描述】:我有一个 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
这将允许我指定软件包版本或操作系统。
在这种情况下,“存储库”的意思只是一个包含一堆按正确顺序排列的静态文件的文件夹。
【问题讨论】:
【参考方案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 页面的确切规范。
【讨论】:
以上是关于如何在自定义 CDN 服务器上静态部署 python ***包?的主要内容,如果未能解决你的问题,请参考以下文章
静态提供在自定义端口上打开的内部(apache 服务器)NodeJS api 并将其转发到公共 url