2013-06-28 11 views
47

Próbuję zainstalować pymssql na Ubuntu 12.04 za pomocą pip. To jest błąd, który dostaję. Każda pomoc byłaby ogromnie doceniona, ponieważ jestem kompletnie zagubiony!próbuje zainstalować pymssql na Ubuntu 12.04 przy użyciu pip

Próbował googling ten ale niestety bezskutecznie ...

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

Tak więc można przeszukiwać: Ubuntu 14.04 będzie rzucać „mssql.c: 346: 22: Błąd krytyczny : sqlfront.h: Brak takiego pliku lub katalogu ". Instalowanie freetds-dev rozwiązuje problem zgodnie z odpowiedzią poniżej. – SaeX

Odpowiedz

123

Sprawdź, czy masz zainstalowany pakiet python-dev (potrzebne do kompilowania pakietów z native wiązaniami (dzięki @ravihemnani).

Następnie musisz zainstalować pakiet rozwojowy FreeTDS (freetds-dev) przed próbą zainstalowania pymssql z pip:

$ sudo apt-get install freetds-dev 

a następnie w twojej virtualenv lub gdziekolwiek chcesz go zainstalować:

$ pip install pymssql 
+0

jeśli pip nie działa: sudo apt-get install python-pip zainstaluje pip –

+0

sudo apt-get install -y freetds-dev rozwiązuje mój problem. Dzięki. –

+0

ten sam problem w debian i apt-get install freetds-dev rozwiązał również mój problem! – alireza

11

Oprócz FreeTDS-dev, trzeba zainstalować python-dev, a także obserwacji.

sudo apt-get install python-dev 

Albo jeszcze raz napotkasz błąd.

+0

Ten komentarz jest VITAL, aby zaakceptowany komentarz się powiódł! (Przynajmniej w 14.04 LTS) Dzięki, Ravihemnani –

+1

Witamy neal: D – ravihemnani

3

Dla tych na openSUSE (i związanych z nimi systemów operacyjnych):

zypper in freetds-devel 
pip install pymssql