пытаюсь установить pymssql на Ubuntu 12.04 с помощью pip

47

Я пытаюсь установить pymssql на ubuntu 12.04, используя pip. Это ошибка, которую я получаю. Любая помощь будет очень признательна, поскольку я полностью потерян!

Пробовал поиск по Google, но, к сожалению, безрезультатно...

  Downloading pymssql-2.0.0b1-dev-20130403.tar.gz (2.8Mb): 2.8Mb downloaded
  Running setup.py egg_info for package pymssql
    warning: no files found matching '*.pyx' under directory 'Cython/Debugger/Tests'
    warning: no files found matching '*.pxd' under directory 'Cython/Debugger/Tests'
    warning: no files found matching '*.h' under directory 'Cython/Debugger/Tests'
    warning: no files found matching '*.pxd' under directory 'Cython/Utility'
    Compiling module Cython.Plex.Scanners ...
    Compiling module Cython.Plex.Actions ...
    Compiling module Cython.Compiler.Lexicon ...
    Compiling module Cython.Compiler.Scanning ...
    Compiling module Cython.Compiler.Parsing ...
    Compiling module Cython.Compiler.Visitor ...
    Compiling module Cython.Compiler.FlowControl ...
    Compiling module Cython.Compiler.Code ...
    Compiling module Cython.Runtime.refnanny ...

    Installed /home/radek/build/pymssql/Cython-0.19.1-py2.7-linux-x86_64.egg
    cc -c /tmp/clock_gettimeh7sDgX.c -o tmp/clock_gettimeh7sDgX.o
    cc tmp/clock_gettimeh7sDgX.o -lrt -o a.out

    warning: no files found matching 'win32/freetds.zip'
Installing collected packages: pymssql
  Running setup.py install for pymssql
    skipping '_mssql.c' Cython extension (up-to-date)
    building '_mssql' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/radek/build/pymssql/freetds/nix_64/include -I/usr/include/python2.7 -c _mssql.c -o build/temp.linux-x86_64-2.7/_mssql.o -Wno-parentheses-equality -DMSDBLIB
    gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mssql.o -L/home/radek/build/pymssql/freetds/nix_64/lib -lsybdb -lct -lrt -o build/lib.linux-x86_64-2.7/_mssql.so
    /usr/bin/ld: cannot find -lct
    collect2: ld returned 1 exit status
    error: command 'gcc' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools;__file__='/home/radek/build/pymssql/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-Et_P1_-record/install-record.txt:
    running install

running build

running build_ext

skipping '_mssql.c' Cython extension (up-to-date)

building '_mssql' extension

creating build

creating build/temp.linux-x86_64-2.7

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/radek/build/pymssql/freetds/nix_64/include -I/usr/include/python2.7 -c _mssql.c -o build/temp.linux-x86_64-2.7/_mssql.o -Wno-parentheses-equality -DMSDBLIB

creating build/lib.linux-x86_64-2.7

gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mssql.o -L/home/radek/build/pymssql/freetds/nix_64/lib -lsybdb -lct -lrt -o build/lib.linux-x86_64-2.7/_mssql.so

/usr/bin/ld: cannot find -lct

collect2: ld returned 1 exit status

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /usr/bin/python -c "import setuptools;__file__='/home/radek/build/pymssql/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-Et_P1_-record/install-record.txt failed with error code 1
  • 5
    Для поиска: Ubuntu 14.04 выдаст «mssql.c: 346: 22: фатальная ошибка: sqlfront.h: нет такого файла или каталога». Установка freetds-dev решает проблему согласно ответу ниже.
Теги:
pip
pymssql
ubuntu-12.04

4 ответа

112
Лучший ответ

Убедитесь, что установлен пакет python-dev (необходим для компиляции пакетов с собственными привязками (благодаря @ravihemnani).

Затем вам нужно установить пакет разработки FreeTDS (freetds-dev), прежде чем пытаться установить pymssql с помощью pip:

$ sudo apt-get install freetds-dev

а затем в вашем виртуальном каталоге или там, где вы хотите его установить:

$ pip install pymssql
  • 0
    если pip не работает: sudo apt-get install python-pip установит pip
  • 0
    sudo apt-get install -y freetds-dev решает мою проблему. Благодарю.
Показать ещё 3 комментария
11

Помимо freetds-dev, вам необходимо установить python-dev, а также следовать.

sudo apt-get install python-dev

Или иначе вы снова столкнетесь с некоторой ошибкой.

  • 0
    Этот комментарий жизненно важен для успешного принятия принятого комментария! (По крайней мере, в 14.04LTS) Спасибо, Равихемнани
  • 1
    Добро пожаловать, Нил: D
3

Для пользователей OpenSuse (и связанных с ними ОС):

zypper in freetds-devel
pip install pymssql
1

В Mac

brew install [email protected]
brew link --force [email protected]
pip install pymssql
  • 0
    Это сработало для меня в MacOS Sierra.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню