假设我有两台机器。
macOS 10.13 with internet connection
macOS 10.12 with no network connection
我想通过滚轮安装readline(例如)。
我可以轻松抓住方向盘:
pip wheel -w . readline
我得到的是:
readline-6.2.4.1-cp36-cp36m-macosx_10_13_x86_64.whl
然而,当我把这个轮子放在10.12机器上并尝试安装时:
pip install --no-index --find-links . readline
它将无法安装,因为文件名标记为10.13。
当然,当互联网连接的机器或离线机器运行Ubuntu时,情况可能会变得复杂一些。
有没有办法让pip为特定目标操作系统的特定车轮?
处理此问题的标准方法是运行'pip wheel -w。在最终将安装它的操作系统的操作系统上的readline'
答案 0 :(得分:1)
处理此问题的标准方法是在最终安装它的操作系统的操作系统上运行'pip wheel'吗?
是。为许多体系结构发布二进制包的人运行一系列具有大量仿真处理器体系结构和操作系统的虚拟机或容器。
对于免费软件,您可以在商业CI上使用免费软件。在Travis CI,您可以在AppVeyor for w32。
为Linux和Mac OS X生成轮子有关帮助为不同平台构建轮子的程序示例,请参阅https://pypi.python.org/pypi/cibuildwheel和https://github.com/matthew-brett/multibuild。