【问题标题】:local pypi server to serve windows, mac and linux users本地 pypi 服务器为 windows、mac 和 linux 用户提供服务
【发布时间】:2018-11-26 20:56:13
【问题描述】:

我已经设置了一个本地 pypi 服务器,以允许本地用户安装使用 pip 在本地开发的 python 包。

我认为 python 包是独立于平台的,因此一台服务器将服务于所有主要平台,如 windows、mac 和 linux。也就是说,所有用户都可以通过pip install package-name 在各自的操作系统上安装软件包。

但是,其中一个托管包包含使用 C++ 作为库编译的 opencv-python。

我现在不知道该怎么办?

我应该为每个平台设置三个单独的 Pypi 服务器,因为 C++ 依赖于平台,还是我可以使用一个 pypi 服务器来完成?

我是否应该保留单独的包,例如 package-mac、package-win、package-lin?

【问题讨论】:

    标签: python pip setuptools portability distutils


    【解决方案1】:

    一个项目可以上传大量二进制轮子和二进制鸡蛋以及一个单一版本的纯源分发。

    例如:https://pypi.org/project/Cheetah3/3.1.0/#files。这是CheetahTemplate 的 3.1.0 版(完全披露:我是当前的维护者)。

    请参阅Python Packaging User Guide 中的章节Packaging binary extensions

    【讨论】:

    • 感谢您的回复,我期待任何回复。我会阅读参考资料并回复您。
    • 抱歉耽搁了。我发现 PyPI 足够聪明,可以将正确的平台包发送给客户。或者,开发人员可以托管有点慢但由客户下载后在主机上编译的源代码。然而我仍然在挣扎。如果我必须在本地的 pypicloud 服务器上存储 this package 怎么样。知道如何解决它。
    • PyPI 足够聪明,可以发送正确的平台包 抱歉,这是错误的。 PyPI 不发送包——它是 pip 下载它们,所以它是 pip 足够聪明地获得正确的平台包。
    • 至于你的包 - 它应该像任何其他基于 C++ 的包一样以 smae 方式打包。对于基于 CMake 的软件包,请参阅setuptools+cmake
    猜你喜欢
    • 2017-10-17
    • 2013-03-10
    • 2019-09-22
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2017-01-11
    • 2019-05-29
    • 1970-01-01
    相关资源
    最近更新 更多