Skip to main content
 首页 » 编程设计

python-3.x之Python pip install pyarrow 错误,无法执行 'cmake'

2025年12月25日45开发

我正在尝试在我的 EMR 集群的主实例上安装 pyarrow,但是我总是收到此错误。

[hadoop@ip-XXX-XXX-XXX-XXX ~]$ sudo /usr/bin/pip-3.4 install pyarrow 
Collecting pyarrow 
Downloading https://files.pythonhosted.org/packages/c0/a0/f7e9dfd8988d94f4952f9b50eb04e14a80fbe39218520725aab53daab57c/pyarrow-0.10.0.tar.gz (2.1MB) 
100% |████████████████████████████████| 2.2MB 643kB/s  
Requirement already satisfied: numpy>=1.10 in /usr/local/lib64/python3.4/site-packages (from pyarrow) 
Requirement already satisfied: six>=1.0.0 in /usr/local/lib/python3.4/site-packages (from pyarrow) 
Installing collected packages: pyarrow 
Running setup.py install for pyarrow ... error 
Complete output from command /usr/bin/python3.4 -u -c "import setuptools, tokenize;__file__='/mnt/tmp/pip-build-pr3y5_mu/pyarrow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-vmywdpeg-record/install-record.txt --single-version-externally-managed --compile: 
/usr/lib64/python3.4/distutils/dist.py:260: UserWarning: Unknown distribution option: 'long_description_content_type' 
warnings.warn(msg) 
/mnt/tmp/pip-build-pr3y5_mu/pyarrow/.eggs/setuptools_scm-3.1.0-py3.4.egg/setuptools_scm/utils.py:118: UserWarning: 'git' was not found 
running install 
running build 
running build_py 
creating build 
creating build/lib.linux-x86_64-3.4 
creating build/lib.linux-x86_64-3.4/pyarrow 
copying pyarrow/pandas_compat.py -> build/lib.linux-x86_64-3.4/pyarrow 
copying pyarrow/serialization.py -> build/lib.linux-x86_64-3.4/pyarrow 
...... 
creating build/lib.linux-x86_64-3.4/pyarrow/tests/data 
copying pyarrow/tests/data/v0.7.1.all-named-index.parquet -> build/lib.linux-x86_64-3.4/pyarrow/tests/data 
copying pyarrow/tests/data/v0.7.1.column-metadata-handling.parquet -> build/lib.linux-x86_64-3.4/pyarrow/tests/data 
copying pyarrow/tests/data/v0.7.1.parquet -> build/lib.linux-x86_64-3.4/pyarrow/tests/data 
copying pyarrow/tests/data/v0.7.1.some-named-index.parquet -> build/lib.linux-x86_64-3.4/pyarrow/tests/data 
running build_ext 
creating build/temp.linux-x86_64-3.4 
-- Runnning cmake for pyarrow 
cmake -DPYTHON_EXECUTABLE=/usr/bin/python3.4  -DPYARROW_BOOST_USE_SHARED=on -DCMAKE_BUILD_TYPE=release /mnt/tmp/pip-build-pr3y5_mu/pyarrow 
unable to execute 'cmake': No such file or directory 
error: command 'cmake' failed with exit status 1 
 
---------------------------------------- 
Command "/usr/bin/python3.4 -u -c "import setuptools, tokenize;__file__='/mnt/tmp/pip-build-pr3y5_mu/pyarrow/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-vmywdpeg-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /mnt/tmp/pip-build-pr3y5_mu/pyarrow/ 

我不知道为什么它说'命令'cmake'失败,退出状态为1',事实上可以肯定的是,我预先安装了cmake,但我仍然收到这个错误。此外,我可以毫无问题地执行 sudo pip install pyarrow,但是在使用 sudo pip-3.4 install pyarrow 时出现错误。我是否遗漏了什么,或者这个错误与 cmake 无关?我将不胜感激任何帮助。

请您参考如下方法:

最后,我找到了一种通过安装早期版本的 pyarrow 来解决这种情况的方法。我试图安装失败的 pyarrow-0.10.0。但是如果我安装 pyarrow-0.9.0,它就可以工作。所以我认为 cmake 和 pyarrow-0.10.0 之间可能存在一些兼容问题。