我有一台带有Snow Leopard的MacBook Pro,以及标配的Python 2.6发行版。 Numpy无法正常工作。 Loadtxt提供的文件名错误太长,getfromtxt根本不起作用(模块错误中没有对象)。然后我尝试在MacPorts上下载py26-numpy端口。当然,当我使用python时,它默认为mac发行版。如何切换它以使用MacPorts中的最新和最好的。这似乎比从源代码构建我需要的所有工具简单得多......
谢谢!
答案 0 :(得分:4)
首先,将MacPorts路径(/opt/local/bin
)添加到$PATH
。在.bashrc
(或您使用的任何shell配置文件)中:
export PATH="/opt/local/bin:${PATH}"
如果您通过MacPorts安装了多个版本的Python,并且/或者想要在MacPorts和Apple发行版之间轻松切换,您也可以安装python_select端口。
另请注意,MacPorts版本的Python 2.6已安装到/opt/local/bin/python2.6
中,因此要使用该解释器,您必须执行以下三项操作之一:
python2.6
(不只是python
)启动口译员。python
调用python2.6
(alias python=python2.6
)。/opt/local/bin/python
手动设置符号链接 - > /opt/local/bin/python2.6
。python_select
设置调用python
时使用的Python。选项#3或#4可能是最好的选择。
答案 1 :(得分:1)
您需要更新PATH
,以便MacPorts中的内容位于标准系统目录的前面,例如export PATH=/opt/local/bin:/opt/local/sbin:/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin/:$PATH
。
更新:请特别注意旧/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin
值PATH
前面的事实。
答案 2 :(得分:0)
现有的答案非常有用,但我注意到他们都没有说清楚如何改变。如果您不熟悉unix命令行,这可能很重要。
首先,解释:在基于unix的操作系统中,shell中的重要配置信息存储在称为环境变量的事物中。名为PATH的环境变量将shell定向到要查找程序的位置列表。当您键入命令时,它从PATH变量的最左端开始,并在该文件夹中查找您尝试运行的程序。如果找到它,它会运行它;否则它会在下一个文件夹中查找。如果安装了同一程序的多个版本,则可以使用PATH变量赋予一个优先级。
要使用此功能,请将带有闪亮新版本的文件夹放在路径前面,如下所示:
PATH=/opt/local/bin:/usr/bin:/usr/local/bin
要在单个版本的shell中进行此更改,可以键入
export PATH=/opt/local/bin:/usr/bin:/usr/local/bin
要在打开的每个shell中进行更改,您需要指示shell在每次启动时设置此变量。有一个名为.bashrc
的文件,另一个名为.bash_profile
的文件,bash会在启动时读取。 .bashrc
文件通常用于包含所有shell的指令,.bash_profile
用于包含仅适用于交互式shell的指令。因此,为了使此更改成为可能,您可以编辑/Users/yourname/.bashrc
以包含如下所示的行:
export PATH="/opt/local/bin:$PATH"
这样做是将/opt/local/bin
添加到路径变量的前面,而留下路径的其余部分。如果该更改似乎不起作用,则需要确保通过将source $HOME/.bashrc
添加到.bash_profile
脚本来调用.bashrc,或者只需将必要的行移至.bash_profile
。