當前位置: 首頁>>技術教程>>正文


嘗試使用pip在ubuntu 12.04上安裝pymssql

, , , ,

問題描述

我正在嘗試使用pip在ubuntu 12.04上安裝pymssql。這是我得到的錯誤。任何幫助都會非常感激,因為我完全失去了!

嘗試使用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

最佳解決方案

確保安裝了python-dev軟件包(需要使用本機綁定編譯軟件包(感謝@ravihemnani)。

然後,在嘗試使用pip安裝pymssql之前,您需要安裝FreeTDS開發包(freetds-dev):

$ sudo apt-get install freetds-dev

然後,在您的virtualenv或您希望安裝它的任何地方:

$ pip install pymssql

次佳解決方案

除了freetds-dev,您還需要安裝python-dev以及後續操作。

sudo apt-get install python-dev

否則,你將再次麵臨一些錯誤。

第三種解決方案

對於OpenSuse(及相關操作係統)的用戶:

zypper in freetds-devel
pip install pymssql

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/6296.html,未經允許,請勿轉載。