Приложения, не связанные с python, выводят странное сообщение об ошибке: SyntaxError: неверный синтаксис

Привет всем, кто читает это сообщение,

Поскольку я установил PYTHONPATH на своем рабочем столе, всякий раз, когда я пытаюсь использовать такие команды, как gdb или yum, которые, как мне кажется, не связаны с python, у меня возникает эта «SyntaxError: неверный синтаксис», бьющая меня по лицу. Я пробовал несколько вещей, чтобы отладить приглашение оболочки, чтобы выяснить, что, черт возьми, происходит, но до сих пор я застрял с этой проблемой.

Я делаю так:

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

Кажется, это связано с PYTHONPATH. Когда я отключаю это, все работает нормально.

Мой ПИТОНПУТЬ:

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

Я пытался отлаживать оболочку с помощью -x и -v, но отладочная информация бесполезна:

[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

, чтобы увидеть, какой процесс вызывает эту ошибку, но пока мне не удалось понять, как решить эту проблему.

Заранее спасибо за любую подсказку или подсказку.


person Dyrl    schedule 19.01.2018    source источник


Ответы (2)


export PYTHONPATH=

решил мою проблему (Git Bash, Windows 10)

person PJ127    schedule 12.11.2018

Проверьте, какая версия Python используется gdb (gdb использует Python для сценариев)

$ (which gdb) | grep python

or

$ which gdb | xargs grep -a python

Если gdb использует версию, отличную от той, что указана в вашем текущем PYTHONPATH, вам следует либо изменить путь Python на версию, поддерживаемую gdb, либо повторно построить gdb

Смотрите также:

gdb использует неправильный python, AttributeError : объект 'module' не имеет атрибута 'pydebug' и Как изменить интерпретатор Python, который использует gdb?.

person user2314737    schedule 19.01.2018
comment
Спасибо за ваш ответ! Раньше я лучше проверил, вызывают ли эти команды python внутри себя или нет. Я не мог придумать причину, по которой gdb мог бы это сделать, но в любом случае это так. Чтобы дополнить ваш ответ, я бы переписал команду следующим образом: which gdb | xargs grep - питон - person Dyrl; 19.01.2018
comment
@Dyrl Я добавил это в свой ответ. Но помогло ли это решить проблему? - person user2314737; 19.01.2018
comment
Да, но решение состоит в том, чтобы полностью удалить PYTHONPATH из моего .bashrc, потому что он указывал на python3.5, а gdb python2.7. Я установлю его внутри разрабатываемого приложения, поэтому системные инструменты не будут затронуты. - person Dyrl; 19.01.2018