Я пытаюсь установить pymssql для Python на машине с CentOS, но у меня это не получается.
Я уже установил следующее:
freetds-devel
Python-разработка
Кажется, это исправление, с которым я постоянно сталкиваюсь при поиске, однако я уже установил оба из них, и я все еще получаю следующую ошибку:
pip install pymssql
Collecting pymssql
/usr/local/lib/python2.7/site-packages/pip-6.1.1-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py:79:
Using cached pymssql-2.1.1.tar.gz
Installing collected packages: pymssql
Running setup.py install for pymssql
Complete output from command /usr/local/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-oU7MKZ/pymssql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-PE9Gxh-record/install-record.txt --single-version-externally-managed --compile:
setup.py: platform.system() => 'Linux'
setup.py: platform.architecture() => ('64bit', 'ELF')
setup.py: platform.linux_distribution() => ('Red Hat Enterprise Linux Server', '6.3', '*******')
setup.py: platform.libc_ver() => ('glibc', '2.3')
setup.py: Not using bundled FreeTDS
setup.py: include_dirs = ['/usr/local/include']
setup.py: library_dirs = ['/usr/local/lib']
running install
running build
running build_ext
building '_mssql' extension
creating build
creating build/temp.linux-x86_64-2.7
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include -I/usr/local/include/python2.7 -c _mssql.c -o build/temp.linux-x86_64-2.7/_mssql.o -DMSDBLIB
_mssql.c:314:22: error: sqlfront.h: No such file or directory
In file included from _mssql.c:316:
cpp_helpers.h:34:19: error: sybdb.h: No such file or directory
_mssql.c:532: error: expected specifier-qualifier-list before ‘BYTE’
_mssql.c:683: error: expected specifier-qualifier-list before ‘DBPROCESS’
.............[Lots of errors removed from here]
:22123: error: ‘SYBVARBINARY’ undeclared (first use in this function)
_mssql.c:22135: error: ‘SYBVARCHAR’ undeclared (first use in this function)
_mssql.c: At top level:
_mssql.c:23607: error: expected ‘)’ before ‘val’
_mssql.c:23689: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__Pyx_PyInt_from_py_DBINT’
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/local/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-oU7MKZ/pymssql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-PE9Gxh-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-oU7MKZ/pymssql
Итак, я вижу эту ошибку в журнале:
_mssql.c:314:22: ошибка: sqlfront.h: нет такого файла или каталога В файле, включенном из _mssql.c:316:
Что из поисков предполагает, что мне нужно установить freetds-devel и/или python-devel, но у меня уже есть.
Я также замечаю эту строку:
setup.py: Не использовать пакет FreeTDS
Я новичок в работе на базе Linux, поэтому я не уверен, означает ли это, что он вообще не использует FreeTDS или просто использует тот, который я скачал, вместо связанной версии или что-то в этом роде? Означает ли это, что загруженный мной freetds-devel используется неправильно? Если да, то как я могу заставить setup.py использовать скачанный мной freetds-devel?
Если freetds-devel не проблема, то есть ли что-то еще, что мне не хватает для установки pymssql?
EDIT : More infoКогда я запускаю следующую команду поиска:
sudo найти / -имя sqlfront.h
Файл, на который он жалуется, находится здесь:
/usr/include/freetds/sqlfront.h
Так это просто моя установка FreeTDS испорчена или что-то не так?