2

我遇到了Python和版本 2 与 3 的典型问题。我喜欢更详细地使用它wcid-curses来管理我的网络接口。从官方Ubuntu 16.4存储库安装它似乎是为Python 2.x编写的。默认情况下,我已配置为使用 3.5 版。如果我运行wicd-curses(或者也不是作为 curses 应用程序),我会遇到以下错误消息:

File "/usr/share/wicd/curses/wicd-curses.py", line 1280
  print 'Error connecting to wicd via D-Bus. ' \
                                           ^
SyntaxError: Missing parentheses in call to 'print'

这对我来说就像一个典型的Python 2 vs 3问题。那么我怎样才能让它以正确的版本运行,但保持我的默认配置版本不变呢?我尝试了一些无用的东西,但到目前为止还没有看到解决方案,因为我不知道如何定义Python版本来运行这个命令行命令。
任何提示如何处理这样的问题?谢谢!

4

3 回答 3

0

我发现这个问题好几年了,它适合我的问题。我在我的 debian linux 上安装了 update-alternatives 以便能够在 python 版本之间切换。但是安装这个包将所有相关的系统链接移动到

usr/bin/python -> /etc/alternatives/python

所以 wicd 似乎是一个 python 2.X 应用程序并产生了 weilbith 描述的错误。正如 weilbith 建议的那样,我只更改了两个实际调用 python 脚本的 bash 文件:

/usr/sbin/wicd
and
/usr/bin/wicd-gtk

改变

exec /usr/bin/python

exec /usr/bin/python2.7

(或您安装的 python2.X 版本)这解决了我的系统问题。

于 2021-11-17T09:34:43.937 回答
0

也许这个问题太简单了。外观whereis wicd提供sbin/wicdPython链接用于执行脚本的位置。我刚刚调整了这个调用以使用相应的Python版本并保存它。现在它就像魅力一样。

于 2018-05-01T12:19:38.780 回答
0

重新安装模块并再次测试,或者进行新的更新。或者,尝试打开模块并写入:

from pprint import *

或者

import pprint
于 2018-05-01T10:57:43.870 回答