Компиляция с python в CentOS 8 возвращает ошибки - PullRequest
0 голосов
/ 09 января 2020

Я установил последние версии узлов, npm и python, но при попытке установить leveldown (используя npm) появляется следующая ошибка:

> leveldown@2.1.1 install /root/apps/authentication/node_modules/leveldown
> prebuild-install || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=10.16.3 runtime=node arch=x64 platform=linux)
gyp ERR! configure error 
gyp ERR! stack Error: Command failed: /bin/python -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                                ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack 
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:294:12)
gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
gyp ERR! stack     at maybeClose (internal/child_process.js:982:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
gyp ERR! System Linux 4.18.0-80.11.2.el8_0.x86_64
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/apps/authentication/node_modules/leveldown
gyp ERR! node -v v10.16.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm WARN auth@1.0.0 No description
npm WARN auth@1.0.0 No repository field.
npm WARN auth@1.0.0 No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! leveldown@2.1.1 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the leveldown@2.1.1 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-01-08T21_40_49_710Z-debug.log

Кажется, что python не компилируется в CentOS 8 ... любая помощь приветствуется

К вашему сведению, я не использую прямой уровень, но это зависит от PouchDB

1 Ответ

1 голос
/ 09 января 2020

Вы установили Python 3, но выполняете код, ожидающий Python 2. Вы можете установить пакет python2, и тогда вы сможете указать процессу установки npm использовать /usr/bin/python2 вместо из /usr/bin/python.

Если это невозможно, вы можете использовать символическую ссылку /usr/bin/python на /usr/bin/python2. По умолчанию CentOS 8 не имеет /usr/bin/python (он имеет только команды python2 или python3), поэтому это должно быть безвредно.


Обратите внимание, что Python 2 имеет только достиг конец жизни . Любое программное обеспечение, которое все еще ожидает Python 2 на данный момент, возможно, не было обновлений в течение некоторого времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...