33

当我输入:

port select --list python

这是结果:

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

我想当我使用 python 时,我会使用 version 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.
>>>
4

5 回答 5

42

采用

osx$ port select --list python

列出可用的 Python 安装。

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

osx$ sudo port select --set python python27
于 2013-08-05T10:33:11.527 回答
31

为什么会发生这种情况

MacPorts/opt/local 默认将二进制文件安装到.

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

要查看仅键入 python 时将执行的版本,请使用

which python

要启动 mac 端口版本,请使用

/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

于 2011-11-20T13:31:56.827 回答
7

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

对于 bash,使用清除缓存

hash -r

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

于 2011-11-23T11:10:17.803 回答
5

Python 安装到:

  • 默认(苹果):/usr/local/bin
  • Mac 端口:/opt/local/bin
  • 蟒蛇.org:/Library/Frameworks/python...

系统需要默认 python,所以最好不要把它弄得太乱。MacPorts Python 使用方便,因为获取包非常容易。

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

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

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

ppython script.py
于 2012-08-25T11:07:39.097 回答
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
于 2017-07-12T21:07:21.850 回答