/usr/bin/python: плохой интерпретатор: нет такого файла или каталога после установки python 2.7

У меня установлен python3 в Ubuntu 20.04, и у меня есть приложение, для которого требуется установить python 2.7. После установки python 2.7 похоже, что python не может быть найден

 /usr/bin/python: bad interpreter: No such file or directory

which python, which python2 и which python3 не возвращают никаких результатов

Вот содержимое /usr/bin:

root@ip-10-10-10-201:/home/ubuntu# ls -alh /usr/bin/pyt*
lrwxrwxrwx 1 root root    9 Mar 13  2020 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3.5M Aug  4 11:16 /usr/bin/python2.7
lrwxrwxrwx 1 root root    9 Mar 13  2020 /usr/bin/python3 -> python3.8
lrwxrwxrwx 1 root root   16 Mar 13  2020 /usr/bin/python3-config -> python3.8-config
-rwxr-xr-x 1 root root 5.3M Jul 28 12:59 /usr/bin/python3.8
lrwxrwxrwx 1 root root   33 Jul 28 12:59 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config

Я не уверен, как заставить это работать, если мне нужно, чтобы оба питона (2.7 и 3.8) работали. Должен ли я изменить #!/usr/bin/python в сценариях, требующих phyton2, на #!/usr/bin/python2?

Будем признательны за вашу помощь. Счастливых праздников!


person igalsc    schedule 22.12.2020    source источник
comment
Запустите новую оболочку или перезагрузите свой профиль, это может сделать source ~/.bash_profile   -  person ti7    schedule 22.12.2020
comment
Видите ли вы файл с именем точно /usr/bin/python в этом выводе от ls? Чтобы использовать правильный интерпретатор, вы должны указать путь к существующему исполняемому файлу. Таким образом, вы можете использовать /usr/bin/python2 или /usr/bin/python2.7. Шебанг обычно выглядит как #!/usr/bin/env python.   -  person ForceBru    schedule 22.12.2020
comment
Отвечает ли это на ваш вопрос? : плохой интерпретатор: нет такого файла или каталога в python   -  person ti7    schedule 22.12.2020
comment
Релевантно: askubuntu.com/questions/1296790/ Чтобы получить python, вы должны явно выбрать между python-is-python2 или python-is-python3.   -  person chepner    schedule 22.12.2020
comment
@ti7 спасибо, но это не сработало, и нет, ссылка бесполезна   -  person igalsc    schedule 22.12.2020
comment
@ForceBru спасибо, замена /usr/bin/python на /usr/bin/python2 кажется работает   -  person igalsc    schedule 22.12.2020
comment
@ ti7 ссылка на Ubuntu объясняет это, спасибо   -  person igalsc    schedule 22.12.2020
comment
Имейте в виду, однако, что только потому, что вы связываете /usr/bin/python с одним или другим, это не означает, что это правильно для любого произвольного скрипта, который указывает /usr/bin/python. Вероятно, лучше обновить скрипт, чтобы он был явно.   -  person chepner    schedule 22.12.2020
comment
@chepner это именно то, что я прокомментировал - изменение /usr/bin/python на /usr/bin/python2 в сценариях кажется работающим   -  person igalsc    schedule 23.12.2020


Ответы (1)


Как предложил @ForceBru, изменение сценариев с /usr/bin/python на /usr/bin/python2 кажется рабочим.

Это связано с тем, что пакеты Ubuntu Python всегда поставляются как python2 и python3, а не как python.

person igalsc    schedule 23.12.2020
comment
Вы должны иметь возможность пометить это как ответ сейчас, чтобы закрыть свой вопрос! - person ti7; 26.12.2020