Ошибка установки pyodb c на RHEL 7. Команда G CC завершилась неудачно с состоянием выхода 1 - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь установить PYODB C в виртуальном окружении python 3.6 на RHEL 7. Я работаю с этой общей c ошибкой, которая говорит:

ERROR: Command errored out with exit status 1:
 command: /opt/seg_django/my_env3.6/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-czk6ubnu/pyodbc/setup.py'"'"'; __file__='"'"'/tmp/pip-install-czk6ubnu/pyodbc/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-record-3lfx_axw/install-record.txt --single-version-externally-managed --compile --install-headers /opt/seg_django/my_env3.6/include/site/python3.6/pyodbc
     cwd: /tmp/pip-install-czk6ubnu/pyodbc/
Complete output (14 lines):
running install
running build
running build_ext
building 'pyodbc' extension
creating build
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/src
gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -I/opt/rh/rh-python36/root/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPYODBC_VERSION=4.0.28 -I/opt/seg_django/my_env3.6/include -I/opt/rh/rh-python36/root/usr/include/python3.6m -c src/buffer.cpp -o build/temp.linux-x86_64-3.6/src/buffer.o -Wno-write-strings -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include
In file included from src/buffer.cpp:12:0:
src/pyodbc.h:45:20: fatal error: Python.h: No such file or directory
 #include <Python.h>
                    ^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: 
/opt/seg_django/my_env3.6/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-czk6ubnu/pyodbc/setup.py'"'"'; __file__='"'"'/tmp/pip-install-czk6ubnu/pyodbc/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-record-3lfx_axw/install-record.txt --single-version-externally-managed --compile --install-headers /opt/seg_django/my_env3.6/include/site/python3.6/pyodbc Check the logs for full command output.

Команда g cc ошибка со статусом выхода 1 - довольно общая ошибка c. После некоторых исследований я нашел несколько рекомендаций. Вот некоторые из предложений по установке:

  1. unixODB C -devel
  2. python3 -devel

У меня также есть g cc и g cc -c ++ пакеты, установленные на машине.

Я использую msodbcsql17. Я не могу заставить его установить pyodb c. Любая помощь будет высоко ценится

...