SBS*_*STN 27 mac bash python osx-snow-leopard
我最近将我的 Mac OS X 10.5 Leopard 安装升级到 10.6 Snow Leopard,随之而来的是 Python 的升级版本 2.6.1(如果是 2.5.1)。现在,当我python在终端中输入时,我仍然得到
Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04)
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Run Code Online (Sandbox Code Playgroud)
我查看/usr/bin/并发现要获得 Python 2.6,我必须输入python2.6.
问题是:如何将python命令映射到 Python 2.6?
Nat*_*ate 21
这很简单:
defaults write com.apple.versioner.python Version 2.6
Run Code Online (Sandbox Code Playgroud)
请参阅man pythonApple 的完整解释。
此外,还有一个问题:确保您运行的是计算机附带的 Python,而不是您安装的其他 Python。通过which python在命令提示符下键入来执行此操作。它应该指向/usr/bin/python. 我之所以提到这一点,是因为我在 Snow Leopard 下的默认值为 2.6(使用 Leopard 时为 2.5)。因此,您获得 2.5 的事实可能表明您的路径中还有其他内容。
更新
要解决以下评论:
这不符合人们的要求。
它对我有用,在 OS X 10.8.2 中。做defaults write com.apple.versioner.python Version 2.6了之后,Python的默认版本确实是2.6。(同样在改回 2.7 之后。)
无论我是python直接运行,还是使用以#!/usr/bin/env python—I get the expected version of Python开头的可执行脚本,都是如此。
这并没有解决 /System/Library/Frameworks/Python.framework/Versions 中的符号链接,其中 Current 指向 2.7 这可能会导致问题(因为它仍然在 sys.path 中 2.6 !)
事实上,它并没有修复那个符号链接。
然而,运行一个小脚本print()S中sys.path和(至少在我相对默认设置)2.6库目录是在路径和2.7迪尔斯是不是在道路上。Current路径上的符号链接目录也不是。所以对于大多数脚本来说应该不是问题。
但是,有可能(尚未测试)Current符号链接由easy_install或 使用pip。那会引起问题。当您更新 Python 版本时,符号链接没有更新,这确实看起来像是一个错误。
小智 12
我建议使用mac端口...
有一个名为 python_select 的包,它允许并行使用 python。因此,如果尚未安装,请先安装mac 端口。
首先安装 python_select 包:
sudo port install python_select
Run Code Online (Sandbox Code Playgroud)
现在您已经可以检查系统上可用的 Python 发行版了。只需发出命令:
port select --list python (MacPorts 2.x)
python_select -l (MacPorts 1.x)
Run Code Online (Sandbox Code Playgroud)
就我而言,它至少打印了雪豹默认附带的 python 版本:python26-apple.
port select --show python (MacPorts 2.x)
python_select -s (MacPorts 1.x)
Run Code Online (Sandbox Code Playgroud)
显示当前选择的版本,例如python26-apple。所以你看,这个包很好地与 Mac 一起玩。更多选项问题
port select (MacPorts 2.x)
python_select -h (MacPorts 1.x)
Run Code Online (Sandbox Code Playgroud)
您可以在端口存储库中搜索可用的 python 版本:
port search python
Run Code Online (Sandbox Code Playgroud)
这将产生一长串可用的python。
要安装所需的软件包,例如 python 2.4,请执行:
sudo port install python24
Run Code Online (Sandbox Code Playgroud)
现在python_select -s也将显示新安装的python。切换到 python 2.4 问题:
sudo port select --set python python24 (MacPorts 2.x)
sudo python_select python24 (MacPorts 1.x)
Run Code Online (Sandbox Code Playgroud)
此命令在 shell 之间是持久的。
假设您正在使用 bash,请键入:
% type -a python
Run Code Online (Sandbox Code Playgroud)
这将向您显示 PATH 中的所有“python”可执行文件、别名、shell 内置程序(可能没有)或 bash 函数。
这应该可以帮助您更好地确定这里发生了什么。
| 归档时间: |
|
| 查看次数: |
81001 次 |
| 最近记录: |