如何使python_select适用于'$> python'命令?

Jim*_*Jim 2 python mysql macos

我用macports安装了几个不同版本的python,而apple python 2.6也在运行.现在我需要在python中运行一个需要MySQLdb包支持的程序,并且这个包安装到我通过macports安装的python中.该程序告诉我没有安装MySQLdb,所以我猜这是苹果python为该程序工作.

我搜索了一些帮助,发现python_select用于在蟒蛇之间切换.但是在命令之后

$>sudo python_select python25
Run Code Online (Sandbox Code Playgroud)

当我输入时,它告诉我它为python选择了版本"python25"

$>python
Run Code Online (Sandbox Code Playgroud)

它仍然是苹果python 2.6的推出.

问题是我如何使python25(MySQLdb的那个)适用于程序而不是苹果python?

另一个重要的事情,该程序不是.py文件,需要在运行之前编译.所以我需要重新安装这个程序吗?我的Mac OS版本是Snow Leopard 10.6.

任何答案都表示赞赏.

Ned*_*ily 7

默认情况下,MacPorts会在其中安装用户程序(或指向它们的链接)/opt/local/bin.MacPorts select_python命令选择链接到哪个python实例/opt/local/bin/python.它对Apple安装的内容没有任何影响(也不应该)/usr/bin,这是Apple提供的pythonpython2.x命令所在.

要调用MacPorts python2.5,您需要确保/opt/local/bin/usr/binshell 之前$PATH(可以通过修改.bash_profile或其他shell初始化脚本来执行此操作),或者您可以使用绝对路径引用简单地调用所需的python:

$ /usr/bin/python your-program.py
Run Code Online (Sandbox Code Playgroud)

使用Apple提供的默认python;

$ /opt/local/bin/python your-program.py
Run Code Online (Sandbox Code Playgroud)

使用选择的版本python_select,或:

$ /opt/local/bin/python2.5 your-program.py
Run Code Online (Sandbox Code Playgroud)

明确选择MacPorts 2.5之一.

编辑:

要修改搜索路径以使用MacPorts,请将此行添加到.bash_profile:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Run Code Online (Sandbox Code Playgroud)