gcc:_mssql.c:没有这样的文件或目录

时间:2012-01-17 10:54:00

标签: python c cython pymssql

我正在尝试为python 2.5编译pymssql。我这样做是因为我认为我拥有的pymssql版本是为python 2.4编译的。这是我得到的错误,这让我想到:

/home/username/lib/python2.5/pymssql.py:30: RuntimeWarning: Python C API version mismatch for module _mssql: This Python has API version 1013, module _mssql has version 1012.
import _mssql

无论如何我在Ubuntu 10.10上并通过deadsnakes ppa安装了python2.5和python2.5-dev。我已经使用python2.5创建了一个virtualenv,就像这样

mkvirtualenv pymssql -p /usr/bin/python2.5

我从pip安装cython并尝试从pip安装pymssql但是收到此错误

Downloading/unpacking pymssql
  Running setup.py egg_info for package pymssql
Installing collected packages: pymssql
  Running setup.py install for pymssql
    building '_mssql' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/neil/virtualenv/pymssql/build/pymssql/freetds/nix_32/include -I/usr/include/python2.5 -c _mssql.c -o build/temp.linux-i686-2.5/_mssql.o -DMSDBLIB
    gcc: _mssql.c: No such file or directory
    gcc: no input files
    error: command 'gcc' failed with exit status 1
    Complete output from command /home/neil/virtualenv/pymssql/bin/python2.5 -c "import setuptools;__file__='/home/neil/virtualenv/pymssql/build/pymssql/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-cEGXRy-record/install-record.txt --install-headers /home/neil/virtualenv/pymssql/include/site/python2.5:
    running install

running build

running build_ext

building '_mssql' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/neil/virtualenv/pymssql/build/pymssql/freetds/nix_32/include -I/usr/include/python2.5 -c _mssql.c -o build/temp.linux-i686-2.5/_mssql.o -DMSDBLIB

gcc: _mssql.c: No such file or directory

gcc: no input files

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /home/neil/virtualenv/pymssql/bin/python2.5 -c "import setuptools;__file__='/home/neil/virtualenv/pymssql/build/pymssql/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-cEGXRy-record/install-record.txt --install-headers /home/neil/virtualenv/pymssql/include/site/python2.5 failed with error code 1
Storing complete log in /home/neil/.pip/pip.log

有任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

原来我需要从pip安装pyrex。

pip install pyrex