如何使python_select适用于'$&燃气轮机;python';指挥部?
我用macports安装了两个不同版本的python,apple python 2.6也在运行。现在我需要运行一个程序,该程序需要MySQLdb包在python中的支持,并且该包已安装到macports安装的python中。该程序告诉我没有安装MySQLdb,所以我猜是applepython在为该程序工作 我搜索了一些帮助,找到了python_select用于在python之间切换。但是在命令之后如何使python_select适用于'$&燃气轮机;python';指挥部?,python,macos,mysql,Python,Macos,Mysql,我用macports安装了两个不同版本的python,apple python 2.6也在运行。现在我需要运行一个程序,该程序需要MySQLdb包在python中的支持,并且该包已安装到macports安装的python中。该程序告诉我没有安装MySQLdb,所以我猜是applepython在为该程序工作 我搜索了一些帮助,找到了python_select用于在python之间切换。但是在命令之后 $>sudo python_select python25 告诉我,当我键入时,它为pyt
$>sudo python_select python25
告诉我,当我键入时,它为python选择了“python25”版本
$>python
发布的仍然是apple python 2.6
问题是我如何让python25(带有MySQLdb的那一个)而不是applepython为程序工作
另一件重要的事情是,该程序不是.py文件,需要在运行前进行编译。那么我需要重新安装这个程序吗?我的Mac OS版本是雪豹10.6
感谢您的回答。首先,我不确定是否使用Mac,因为我以前从未使用过它 但是在Linux中,当我执行
时,python在哪里
它将显示为/usr/bin/python/usr/local/bin/python
…等等
在我的.bashrc
文件中,当我想要/usr/local/bin
更高的优先级时,我只需要导出路径=/usr/local/bin:/usr/bin:$PATH
或者你仍然可以像这样跑
/usr/bin/python yourpython.py
或
取决于您的python安装位置
只要我的2美分。抱歉,如果我的回答对您没有任何帮助。默认情况下,MacPorts会在/opt/local/bin
中安装用户程序(或指向它们的链接)。MacPortsselect_python
命令选择链接到/opt/local/bin/python
的python实例。它对苹果在/usr/bin
中安装的内容没有影响(也不应该影响),苹果提供的python
和python2.x
命令就是在这里安装的
要调用MacPorts python2.5,您需要确保shell上的/opt/local/bin
位于/usr/bin
之前$PATH
(您可以通过修改.bash\u配置文件
或其他shell初始化脚本来完成此操作),或者只需使用绝对路径引用调用所需的python即可:
$ /usr/bin/python your-program.py
使用苹果提供的默认python
$ /opt/local/bin/python your-program.py
要使用与python一起选择的版本,请选择
,或:
$ /opt/local/bin/python2.5 your-program.py
显式选择MacPorts 2.5
编辑:
要修改搜索路径以使用MacPorts,请将此行添加到。bash\u profile
:
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Mac中的“python”只是一个链接。对“python”所在的目录执行“which python”、“cd”,然后执行“ls-a py*”。您将看到python也指向了哪里。如果您希望该python指向不同版本的python,只需将其链接到正确的版本即可。有关更多信息,我刚刚发现了这个问题:我的问题与这个问题相同。希望这对你的答案有帮助。没关系。在mac中,当我执行“whichpython”时,它返回“python”所指的路径。如果您能告诉我如何修改引用,我将不胜感激。我听说“导出”只适用于终端会话,是吗?通常,每个终端会话都会启动一个新的“登录”shell,这意味着~/.bash_配置文件中的命令将针对每个终端会话执行。export命令告诉shell将该环境变量($PATH)的值传递给它创建的任何后续子流程。因此,最终的效果是,导出的变量将在所有终端会话和在其中运行的程序中可用,除非您显式取消设置它们或更改它们的值。要选择希望macports使用的python,必须先执行
sudo端口选择python--list
,然后执行sudo端口选择python python27
(例如,对于2.7)。另外,正如Ned所说,确保在$PATH中/opt/local/bin位于/usr/bin之前。最后一部分确保python
命令使用的是MacPorts版本的python,而不是苹果的版本。@Nick:这似乎是MacPorts最近的一个变化。谢谢你提供的细节。我做了一个“port cat python_select”并看到“此端口安装允许“port select”的文件…”。事情就是这样开始的
export PATH=/opt/local/bin:/opt/local/sbin:$PATH