我的docker容器正在使用centos6.6。它无法pip安装pymssql:
Step 15 : RUN pip install pymssql
---> Running in c6a17c43790d
Collecting pymssql
Downloading http://piprepo-au/piprepo/pymssql/pymssql-2.1.1.zip (2.3MB)
Installing collected packages: pymssql
Running setup.py install for pymssql: started
Running setup.py install for pymssql: finished with status 'error'
Complete output from command /usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-6Tr3gO/pymssql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-DZY29I-record/install-record.txt --single-version-externally-managed --compile:
setup.py: platform.system() => 'Linux'
setup.py: platform.architecture() => ('64bit', '')
setup.py: platform.linux_distribution() => ('CentOS', '6.6', 'Final')
setup.py: platform.libc_ver() => ('glibc', '2.3')
setup.py: Not using bundled FreeTDS
setup.py: include_dirs = ['/usr/local/include']
setup.py: library_dirs = ['/usr/local/lib']
running install
running build
running build_ext
cythoning _mssql.pyx to _mssql.c
Error compiling Cython file:
------------------------------------------------------------
...
return uuid.UUID(bytes_le=(<char *>data)[:length])
else:
return (<char *>data)[:length]
cdef int convert_python_value(self, object value, BYTE **dbValue,
^
------------------------------------------------------------
_mssql.pyx:821:9: Signature not compatible with previous declaration
Error compiling Cython file:
------------------------------------------------------------
...
cdef object msghandler
cpdef cancel(self)
cdef void clear_metadata(self)
cdef object convert_db_value(self, BYTE *, int, int)
cdef int convert_python_value(self, object value, BYTE **, int*, int*) except -1
有没有人有任何想法?我已经尝试了很多东西。 我在ubuntu16上没有遇到这个问题。
。 。
答案 0 :(得分:0)
这似乎是由2.1.1
版本2.1.3
和pymssql
之间某处的界面更改引起的。我没有时间调查确切原因,但在注意到centos 7.x
泊坞窗图片上存在问题后,我能够通过安装较新版本的pymssql
来解决此问题:
pip install pymssql==2.1.3