我正在尝试使用pip在ubuntu 12.04上安装pymssql。这是我得到的错误。任何帮助都会非常感激,因为我完全迷失了!
尝试使用谷歌搜索,但遗憾的是无济于事......
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
答案 0 :(得分:134)
确保安装了python-dev
软件包(需要使用本机绑定编译软件包(感谢@ravihemnani)。
然后,在尝试使用pip安装freetds-dev
之前,您需要安装FreeTDS开发包(pymssql
):
$ sudo apt-get install freetds-dev
然后,在您的 virtualenv 或您希望安装它的任何地方:
$ pip install pymssql
答案 1 :(得分:14)
除了freetds-dev之外,你还需要安装python-dev以及跟随。
sudo apt-get install python-dev
否则,你将再次面临一些错误。
答案 2 :(得分:3)
对于OpenSuse(及相关操作系统)的用户:
zypper in freetds-devel
pip install pymssql
答案 3 :(得分:1)
在Mac上
brew install freetds@0.91
brew link --force freetds@0.91
pip install pymssql