Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使python_select适用于'$&燃气轮机;python';指挥部?_Python_Macos_Mysql - Fatal编程技术网

如何使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

我用macports安装了两个不同版本的python,apple python 2.6也在运行。现在我需要运行一个程序,该程序需要MySQLdb包在python中的支持,并且该包已安装到macports安装的python中。该程序告诉我没有安装MySQLdb,所以我猜是applepython在为该程序工作

我搜索了一些帮助,找到了python_select用于在python之间切换。但是在命令之后

$>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
中安装用户程序(或指向它们的链接)。MacPorts
select_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