按照自述文件和http://code.google.com/p/pymssql/wiki/Compilation的说明,我安装了Cython(v0.14.1),FreeTDS(使用MacPorts的v0.82),我已经安装了gcc的XCode。
我在python setup.py install
期间遇到了构建错误:
很多undeclared name not builtin:
包含strlen
,PyMem_Malloc
,PyMem_Free
,PY_LONG_LONG
以及一些___ is deprecated, use 'cpython'
Google找到了我这个帖子http://groups.google.com/group/cython-users/browse_thread/thread/468bb80480ede699/dc8267a4274c2413,其中有人解决了第一个错误(从from libc.string cimport strlen, strcpy
更改为from stdlib cimport strlen, strcpy
。)
现在我得到了:_mssql.pyx:650:34: Cannot convert Python object to 'const_char *'
以下是这些问题来自http://code.google.com/p/pymssql/source/browse/tags/1.9.908/_mssql.pyx
的文件如果我没有为pymssql
正确准备我的系统我做错了什么?
如果_mssql.pyx
文件正在使用已弃用的导入,我该如何修复它们?
答案 0 :(得分:1)
我安装了pip,所以我使用以下方式获得了Cython:
pip install Cython
我去了www.freetds.org并获得了cvs命令来下载最新的源代码(用户指南,然后是“构建什么:包,Tarballs和CVS存储库”)。要构建它,请忽略网站上的说明,并查看刚下载的存储库根目录中的文件INSTALL.CVS。当你运行./autogen.sh时,请使用:
./autogen.sh --with-tdsver=7.0
autogen.sh将创建配置脚本,然后配置脚本将获得切换。你需要使用7.0 for python来使用TDS和MS SQL。在autogen.sh之后你做'make'然后'sudo make install'。
现在你需要pymssql tarball。打开包装并运行:
python setup.py config
python setup.py build
sudo python setup.py install
应该这样做。
答案 1 :(得分:1)
你试过从行李箱里建造1.9.909吗?它为我构建了干净利落,而.908没有。
不幸的是,即使成功构建和安装,我也会收到导入错误:Building pymssql on OS X
答案 2 :(得分:0)
这个fork编译成魅力: