为什么 pystan 安装这么慢?

ern*_*cyp 4 python pip jenkins docker pystan

我有一个依赖 pystan (用于 fbprophet)的 python 项目。作为 CI/CD 工作流程的一部分,我尝试设置 jenkins 来构建映像并推送到 docker 注册表。然而,pystan的pip安装速度超级慢。似乎在这个阶段卡住了10多分钟:

Building wheels for collected packages: pystan, pymeeus
  Building wheel for pystan (setup.py): started
  Building wheel for pystan (setup.py): still running ...
Run Code Online (Sandbox Code Playgroud)

每当我尝试构建映像时,Jenkins 在 t2.medium 上似乎都没有响应。

还有其他方法安装 pystan 吗?提前下载轮子吗?我怎样才能找出是什么导致它如此缓慢?

我可能会从一个已经安装了 pystan 的基础 docker 镜像开始?

phd*_*phd 9

PyStan 目前为除 Python 3.8 之外的不同平台和 Python 版本提供了许多预编译轮。

\n\n

我猜你用的是 Python 3.8 吗?尝试降级到 3.7 \xe2\x80\x94pip应该无需编译即可安装 PyStan。

\n


kic*_*hik 6

pip 决定不使用预构建的轮子之一,因此它必须从源代码构建包。pystan 似乎是一个包含大量 C++ 代码的大包,因此构建可能需要一段时间。t2.medium在I/O 非常有限的弱机器上尤其如此。

您可以告诉 pip 仅使用二进制包(wheel)并打印更多详细信息。这可能会告诉您为什么它一开始不使用轮子。

pip install -v --only-binary pystan pystan pymeeus
Run Code Online (Sandbox Code Playgroud)

不使用轮子的一个常见原因是 Python 版本不匹配。该套件仅包含 2.7、3.5、3.6 和 3.7 的车轮。也许您正在使用 Python 3.8。另一个常见原因是平台不匹配。该软件包具有manylinux1_x86_64但您可能正在使用的i686发行版或与manylinux1.