如何:Macports选择python

问题描述 投票:30回答:5

当我进入:

port select --list python

这是结果:

Available versions for python:
    none
    python25 (active)
    python25-apple
    python26-apple
    python27
    python27-apple

我以为当我使用python时我会使用版本2.5。相反,当我输入“python”时,2.7版似乎是活跃的。如何将其更改为2.5版?

Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
python version macports python-2.7 python-2.5
5个回答
24
投票

为什么会这样

MacPorts将二进制文件安装到/opt/local by default中。

你的Mac上还有一个preinstalled python。当只需键入python启动时,它将启动不受MacPorts安装影响的预安装python版本。

要查看在键入python时将执行的版本

which python

要启动mac ports版本使用

/opt/local/bin/python2.5

如果您希望始终使用MacPorts二进制文件,您可以更改路径,以便/opt/local/bin出现在/use/local/bin等之前。

/opt/local/bin等由MacPorts添加到〜/ .tcshrc中。另外一定要查看〜/ .profile和〜/ .bash_profile,因为这些是mac上的默认值。

在端口中选择版本

首先输入port select --list python列出已安装的版本,然后仅举例来说sudo port select --set python python27选择2.7。有关更多信息,请输入port help select


37
投票

使用

osx$ port select --list python

列出可用的Python安装。

然后使用“--set”选项“port select”来设置您想要使用的端口。

osx$ sudo port select --set python python27

5
投票

你的shell可能会缓存python的调用,并且不再查看PATH。因此,当您在同一个shell会话中在python之前调用port select时,您需要清除此缓存。

对于bash,请使用清除缓存

hash -r

或者只是打开一个新的终端窗口。


5
投票

Python安装到:

  • 默认(Apple):/usr/local/bin
  • MacPorts:/opt/local/bin
  • python.org:/Library/Frameworks/python ...

系统需要默认的python,所以最好不要太乱用它。 MacPorts Python使用方便,因为让包很容易。

您可以将链接设置为快捷方式:

sudo ln -s /opt/local/bin/python /usr/local/bin/ppython

然后从命令行使用MacPorts版本:

ppython script.py

0
投票

另一种方法是对每个Jupyter二进制文件进行符号链接,以便不显示版本号:

cd /opt/local/bin
JUPYTER_VERSION=2.7
for a in jupyter*$JUPYTER_VERSION; do sudo ln -s $a $(echo $a | sed -e 's:-'$JUPYTER_VERSION':g'); done
© www.soinside.com 2019 - 2024. All rights reserved.