Pyar pip install pyarrow error, невозможно выполнить 'cmake'

Я пытаюсь установить pyarrow на главном экземпляре моего кластера EMR, однако я всегда получаю эту ошибку.

[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? Я буду признателен за любую помощь.

5 ответов

для меня (в Linux) проблема заключалась в слишком старой версии pip

      pip --version
> pip 18.1

что согласно arrow.apache.org слишком мало:

      On Linux, you will need pip >= 19.0 to detect the prebuilt binary packages.

чтобы обновить pip до последней версии, это сработало для меня:

      pip install --upgrade pip

но для вас может быть иначе, посмотрите эту ветку , чтобы узнать о других способах обновления pip

Наконец, я нашел способ обойти эту ситуацию, установив более раннюю версию pyarrow. Я пытался установить Pyarrow-0.10.0, который не удалось. Но если я устанавливаю pyarrow-0.9.0, он работает. Поэтому я думаю, что могут быть некоторые совместимые проблемы между cmake и pyarrow-0.10.0.

(MacOS) Я устанавливал pyarrow и Snowflake-Connector-Python в виртуальной среде Python3.11, сообщение об ошибке было:

Ошибка установки Python pip pyarrow, невозможно выполнить cmake

решено с использованием среды Python3.9, например

      python3.9 -m venv myvenv

Использование переключателя с pip помогло мне. (с Debian 11, Python 3.11, пункт 22.3.1)

Насколько я понимаю, pip пытается использовать PEP-517 и собрать pyarrow из исходного кода.

Когда я пытался, сначала это не удалось с cmake. Как только я установил это черезapt-get install cmake, у меня другая ошибка о том, что Arrow не устанавливается. Потом я узнал о--no-use-pep517из некоторых проблем GitHub:

Некоторые билеты, в которых упоминается этот обходной путь:

Кажется, есть проблема с pyarrow с cmake и pip.

Вы можете использовать conda вместо pip.

conda install -c conda-forge pyarrow

Другие вопросы по тегам