我目前的具体问题:MacPorts在哪里安装了pyodbc?总体问题是:如何使用 MacPorts在Mac OSX 上安装pyodbc?全文如下......
我正在使用从/Library/Frameworks/Python.framework/Versions/2.7/bin/python
运行的Mac OS X Lion(10.8.5)和Python 2.7。我已经安装了FreeTDS(使用fisql
编写了一个bash脚本),但我也按照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
果然,我listing my available modules时没有看到它。我是OSX的新手,但我检查了/usr/bin
和/usr/local/bin
中的符号链接,它们都指向同一个地方。
P.S。 - 我仍然对后人的解决方案感兴趣,但我只是从setup.py build
来源和瞧瞧来运行setup.py install
和pyodbc
!工作。
答案 0 :(得分:1)
以下是我所学到的内容:MacPorts在/opt/local/Library/Frameworks/Python.framework
下创建了自己的Python安装,这与系统/Library/Frameworks/Python.framework
容易混淆。它称之为后者" python27-apple" (假设版本为2.7)并且您可以通过运行sudo port select --list python
来查看它看到的所有Pythons,并且可以通过运行sudo port select python python27-apple
使其使用系统Python。现在,当你运行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()
请注意,此文件夹不需要提升权限,因为它适用于插入式第三方库。这真的不是最好的解决方案,我希望其他人可以告诉我并建议一个更好的解决方案。
答案 1 :(得分:0)
您可以添加PYTHONPATH的路径,以便python知道它也应该在该目录中查找。
export PYTHONPATH=$PYTHONPATH:/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
之后导入应该成功。