0

按照自述文件和此处http://code.google.com/p/pymssql/wiki/Compilation中的说明,我已经安装了 Cython (v0.14.1)、FreeTDS (v0.82 using MacPorts),并且我已经有了 XCode与 gcc 一起安装。

我在以下过程中遇到了构建错误python setup.py install:很多undeclared name not builtin:类似strlen, PyMem_Malloc, PyMem_Free,PY_LONG_LONG以及一些___ is deprecated, use 'cpython'

谷歌发现我这个线程http://groups.google.com/group/cython-users/browse_thread/thread/468bb80480ede699/dc8267a4274c2413有人解决了第一个错误(from libc.string cimport strlen, strcpyfrom 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文件使用不推荐使用的导入,我该如何修复它们?

4

3 回答 3

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 压缩包。解压并运行:

python setup.py config
python setup.py build
sudo python setup.py install

应该这样做。

于 2011-04-21T18:04:40.790 回答
1

您是否尝试过从主干构建 1.9.909?它为我构建得很干净,而 .908 没有。

不幸的是,即使构建和安装成功,我也会遇到导入错误:Building pymssql on OS X

于 2011-06-18T22:33:09.833 回答
0

这个 fork 编译起来就像一个魅力:

https://github.com/blackbass1988/pymssql-macos-lion

于 2012-10-23T07:25:45.523 回答