在 Ubuntu 14.04 中,我将其设置python3.4
为默认python
版本。此后,Dropbox 不会在启动时启动,Ubuntu 软件中心也无法再打开。从命令行运行它们,我有:
petrux@MYMACHINE:~$ dropbox
File "/usr/bin/dropbox", line 232
except OSError, e:
^
SyntaxError: invalid syntax
petrux@orion:~$ software-center
File "/usr/bin/software-center", line 140
print time.time()
^
SyntaxError: invalid syntax
我怎样才能解决这个问题?
编辑:我刚刚注意到,此外,不再有音频输出。
答案1
如果这是您遇到的问题。
File "/usr/bin/dropbox", line 215
except OSError, e:
^
SyntaxError: invalid syntax
这可能是由于您将 python 从 python2 更新到 python3 并将 python3 设置为默认 python。要解决这个问题,您可以按照以下步骤操作。
按照以下步骤操作,
- 打开
cd /usr/bin/dropbox
文件并处于编辑模式。 - 将第一行从 更改
#!/usr/bin/python
为#!/usr/bin/python2
- 重新启动 Dropbox 应用程序,它应该可以正常运行。
答案2
通用命令python
和 shebang#!/usr/bin/python
当前映射到 Python 2。请勿自行更改该映射 - 它将破坏 14.04 中仍然使用 Python 2 的许多基本系统应用程序和服务,并且还不能与 Python 3 一起使用。
撤消将 Python 3.4 设置为默认 Python 版本的所有操作。
14.04 包含 Python 2 和 Python 3。您系统上的应用程序和服务可能依赖于其中之一。
要启动 Python 3 解释器,请使用命令或在脚本中python3
放置 shebang 。#!/usr/bin/python3
要启动 Python 2 解释器,请使用命令python
或python2
,或者将 shebang#!/usr/bin/python
或放入#!/usr/bin/python2
脚本中。
答案3
对我来说,我使用以下命令将默认 python 设置为 3
sudo update-alternatives --config python
将其改回 python 2 即可解决问题
答案4
如果你尚未update-alternatives
配置,一个好的做法是列出所有 python 安装,以便在它们之间快速切换
ls /usr/bin/python*
首先使用以下命令添加所有已安装的 python 版本(可以看到正在执行):
sudo update-alternatives --install /usr/bin/python python <path-to-python-version> <priority>
示例(为了解决 Dropbox 的这个问题,请将 python 2.7 添加到替代方案中)
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 3
执行sudo update-alternatives --config python
列出所有添加的替代方案并选择 python 版本并输入相应的选择值。