在 Mac OS 10.6 (python 2.6) 上安装/构建 pymssql
Posted
技术标签:
【中文标题】在 Mac OS 10.6 (python 2.6) 上安装/构建 pymssql【英文标题】:installing/building pymssql on Mac OS 10.6 (python 2.6) 【发布时间】:2011-03-03 16:39:18 【问题描述】:按照自述文件和此处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 stdlib cimport strlen, strcpy
更改为 from libc.string 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
文件正在使用已弃用的导入,我该如何修复它们?
【问题讨论】:
第 650 行是 dbValue[0] =您是否尝试过从主干构建 1.9.909?它为我构建得很干净,而 .908 没有。
很遗憾,即使构建和安装成功,我也会遇到导入错误:Building pymssql on OS X
【讨论】:
【参考方案2】:我已经安装了 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
应该这样做。
【讨论】:
【参考方案3】:这个 fork 编译起来就像一个魅力:
https://github.com/blackbass1988/pymssql-macos-lion
【讨论】:
以上是关于在 Mac OS 10.6 (python 2.6) 上安装/构建 pymssql的主要内容,如果未能解决你的问题,请参考以下文章
在 Mac OS X 10.6 上使用带有 Python 2.7 的 Google App Engine SDK
在Mac OS X 10.6上的Python中,无法在Matplotlib中将字体更改为Helvetica
在 Mac OS 10.6 上安装 psycopg2 时出错