在多个Python安装的情况下,MacPorts如何知道为哪个安装MySQLdb?
我刚刚把Leopard系统上默认的Python 2.5升级到了2.6,升级是通过www.python.org上的安装程序完成的。升级后,我之前安装的MySQLdb库找不到了。于是我尝试通过port install py-mysql
重新安装,安装成功了,但MySQLdb还是无法import
。接着我又试了python install python26
,并用python_select python26
来选择它,安装也成功了,但看起来这个版本并没有优先于python.org的安装版本:
$ which python
/Library/Frameworks/Python.framework/Versions/2.6/bin/python
我本来期待的路径应该是/opt/local/bin/python
。
我的path
环境变量是:/Library/Frameworks/Python.framework/Versions/2.6/bin:/usr/local/mysql/bin/:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/mysql/bin:/Users/bsr/bin
总之,当我尝试port install py-mysql
时,它是怎么知道要把Python的MySQL库安装到哪里呢?
2 个回答
你还需要用到 python_select(或者叫 select_python?)来更改默认使用的 Python 版本。
MacPorts
的 Python 端口通常遵循一个规律:如果端口名称以 py-
开头,那么它是为 MacPorts 的 python2.4 配置的。同样,py25-
则是需要 python2.5 的。如果你想要 MacPorts 的 python2.6,你可以查看 这个端口:
sudo port install py26-mysql