与python输出无关的应用程序奇怪的错误消息:SyntaxError:语法无效

时间:2018-01-19 09:59:48

标签: python shell syntax-error prompt pythonpath

大家好,阅读此消息,

由于我在桌面上设置了PYTHONPATH,每当我尝试使用像gdb或yum这样的命令时,我认为这与python无关,我有这个“语法错误:无效语法”拍打我的脸。我已经尝试了几个调试shell提示的东西,弄清楚到底发生了什么,但到目前为止我一直坚持这个问题。

我是这样的:

[charly@sn04 ~]$ gdb
  File "/opt/anaconda3/lib/python3.5/site.py", line 176
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

这似乎与PYTHONPATH有关。当我解开这个时,一切正常。

我的PYTHONPATH:

export PYTHONPATH=/opt/anaconda3/lib/python3.5/

我尝试使用-x和-v调试shell,但调试信息没有帮助:

[charly@sn04 ~]$ gdb
gdb
+ gdb
  File "/opt/anaconda3/lib/python3.5/site.py", line 176
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

我也试过设置一个陷阱:

trap "PARENT_COMMAND=\"$(ps -o comm= $PPID)\"" ERR
[charly@sn04 ~]$ gdb
gdb
+ gdb
  File "/opt/anaconda3/lib/python3.5/site.py", line 176
    file=sys.stderr)
        ^
SyntaxError: invalid syntax
PARENT_COMMAND="xterm"
++ PARENT_COMMAND=xterm

,看看哪个进程正在调用此错误,但到目前为止我无法弄清楚如何解决此问题。

提前感谢您提供任何线索或提示。

2 个答案:

答案 0 :(得分:0)

检查gdb使用的python版本(gdb使用Python编写脚本)

$ (which gdb) | grep python

$ which gdb | xargs grep -a python

如果gdb使用的版本与当前PYTHONPATH版本不同,那么您应该将Python路径更改为gdb支持的版本或re-build gdb

另见:

gdb uses wrong pythonAttributeError: 'module' object has no attribute 'pydebug'How to change the Python Interpreter that gdb uses?

答案 1 :(得分:0)

This.name

解决了我的问题(Git Bash,Windows 10)