Опитвам се да инсталирам pymssql за Python на CentOS машина, но продължава да ми се проваля.
Вече инсталирах следното:
freetds-devel
python-devel
Което изглежда е поправката, която продължавам да срещам при търсения, но вече съм инсталирал и двете и все още получавам следната грешка:
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 find / -name sqlfront.h
Файлът, от който се оплаква, се намира тук:
/usr/include/freetds/sqlfront.h
Така че просто моята инсталация на FreeTDS е объркана или какво не е наред?