Pip 安装失败,因为找不到 cmake

Dam*_*ips 7 cmake python-3.10

尝试pip3 install pyportfolioopt构建失败,并显示

...ERROR: Failed building wheel for osqp
Failed to build osqp
ERROR: Could not build wheels for osqp, which is required to install pyproject.toml-based projects
Run Code Online (Sandbox Code Playgroud)

...在回溯中,我可以看到问题是

Traceback (most recent call last):
        File "/Library/Frameworks/Python.framework/Versions/3.10/bin/cmake", line 5, in <module>
          from cmake import cmake
      ModuleNotFoundError: No module named 'cmake'
Run Code Online (Sandbox Code Playgroud)

所以pip3 install cmake; pip3 list | grep cmake: cmake 3.24.0...再试一次,但同样的错误。

OSX 12.5(蒙特利)-M1 芯片 Python 3.10.6

编辑:请注意,Pythoncmake模块与构建工具不同cmake

Dam*_*ips 9

因此,当我查看 的内容时,/Library/Frameworks/Python.framework/Versions/3.10/bin/cmake有一行from cmake import cmake(但没有名为 的实际文件cmake.py)。所以我再次尝试 pip install: pip3 install cmake,它返回了注释:Requirement already satisfied: cmake in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (3.24.0)...我不完全理解它/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10是一个二进制文件,而不是目录,但这个困惑让我尝试:pip3 uninstall cmake,然后重试安装原始库pip3 install pyportfolioopt: 。奇怪的是,这有效。

所以,简而言之:解决该no module named cmake错误的方法是卸载 cmake.... 想想吧。

希望任何人都可以提供任何额外的见解。