0

我目前的具体问题是:MacPorts将pyodbc安装在哪里?总体问题是:如何使用MacPorts 在 Mac OSX 上安装 pyodbc?全文如下...

我正在使用 Mac OS X Lion (10.8.5) 和 Python 2.7,它从/Library/Frameworks/Python.framework/Versions/2.7/bin/python. 我已经安装了 FreeTDS(使用 编写了一个 bash 脚本fisql),但我也遵循了http://www.cerebralmastication.com/2013/01/installing-debugging-odbc-on-mac-os-x/上的说明并验证了这一点已安装 UnixODBC。最后,我已经sudo port install py27-pyodbc成功运行了......但是当我尝试时import pyodbc,我得到了错误:

ImportError: No module named pyodbc

果然,在列出可用模块时我没有看到它。我对 OSX 相当陌生,但我检查了两者中的符号链接,/usr/bin它们/usr/local/bin都指向同一个地方。

PS - 我仍然对后代的解决方案感兴趣,但我只是从源头运行,setup.py build ...作品。setup.py installpyodbc

4

2 回答 2

1

以下是我所学到的:MacPorts 创建了自己的 Python 安装,在/opt/local/Library/Frameworks/Python.framework该安装下与 system 令人困惑地相似/Library/Frameworks/Python.framework。它调用后者“python27-apple”(假设版本为 2.7),您可以通过运行看到它看到的所有 Python,sudo port select --list python您可以通过运行使其使用系统 Python sudo port select python python27-apple。现在,当您运行sudo port install py27-pyodbc它时,理论上应该将库放入正确的文件夹 ( /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyodbc.so) 中……但事实并非如此。但是,您可以从中复制这两个文件/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyodbc*,它会找到它们。

$ cp /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/* ./
$ python
Python 2.7.5 (v2.7.5:ab05e7dd2788, May 13 2013, 13:18:45) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
>>> quit()

请注意,此文件夹不需要提升权限,因为它用于插入式 3rd 方库。这真的不是最好的解决方案,我希望其他人可以告诉我并提出更好的解决方案。

参考:如何:Macports 选择 python

于 2013-10-24T20:13:00.707 回答
0

您可以将路径添加到 PYTHONPATH,以便 python 知道它也应该在该目录中查找。

export PYTHONPATH=$PYTHONPATH:/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

之后,导入应该会成功。

于 2014-09-19T17:46:52.137 回答