在Mac OS 10.6上安装/构建pymssql(python 2.6)

时间:2011-03-03 16:39:18

标签: python macos osx-snow-leopard cython pymssql

按照自述文件和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:包含strlenPyMem_MallocPyMem_FreePY_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文件正在使用已弃用的导入,我该如何修复它们?

3 个答案:

答案 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)