如何将可从服务器下载的文件包含在 pip 安装中?



我想创建一个pip-installable(这很重要,我们已经有一个大部分工作的易于安装的版本,但我们想切换到PIP(python包,它本质上是一些C函数的包装器。据我了解,我不能指望用户安装了编译器(例如Windows(,因此最好我会预编译这些文件并将它们上传到服务器上。我想要的是PIP在安装过程中下载合适的文件(如果所有这些文件都不需要随软件包一起提供,我宁愿这样做(。我尝试阅读文档,但未能找到解决我的问题的任何解决方案。PIP 是否能够在安装过程中从服务器下载已编译的 C 文件?如果是这样,行动方针是什么?我是否应该尝试包含一个在安装时运行的 python 脚本,它将确定操作系统和架构,然后访问特定链接?

你的大多数假设都是正确的。您可以提供源代码分发或sdist,这需要在目标计算机上安装构建工具。当您所需的平台轮不存在时,或者如果您希望用户能够自己构建它时,它通常会作为后备上传。

说到轮子,这是二进制python发行版的当前标准的名称,或bdists。如果你的包包含需要编译的代码,轮子最终将是特定于平台的 - 取决于可以使用的构建系统,可以是LinuxmacOSWindows。例如,请参阅 pyPI 上的sklearn条目,它为所有受支持的 python 版本的每个操作系统提供一个轮子(加上 32/64 位支持,但那是另一回事(。

如果您指定一个索引(或只是一个包含轮子的目录(,pip 应该从哪里安装,它将自动确保它下载/安装正确的轮子,从而避免将特定于平台的代码写入源代码。困难的部分是制造轮子。


相关问题:

  • 点安装和平台专用轮子
  • 如何避免使用我的 python 包构建 C 库?(最终构建平台专用轮子(

相关内容

  • 没有找到相关文章

最新更新