Я пытаюсь немного узнать Python3, поэтому обо всем по порядку: Hello World. Но как бы просто это ни было, у меня ужасное время со строкой 1, ссылкой на Шебанг. Я создаю следующий скрипт на моем ноутбуке под управлением Ma c Os 10.15.3
#!/usr/bin/env python3
print('Hello World')
Я сохраняю его как python_test-01.py, делаю скрипт исполняемым и пытаюсь запустить его
Emonda:Scripts paul$ chmod 755 python_test-01.py
Emonda:Scripts paul$ ls -l
-rwxr-xr-x@ 1 paul staff 47 Mar 5 13:07 python_test-01.py
Emonda:Scripts paul$ ./python_test-01.py
./python_test-01.py: line 1: #!/usr/bin/env: No such file or directory
./python_test-01.py: line 2: syntax error near unexpected token `'Hello World''
./python_test-01.py: line 2: `print('Hello World')'
Хмм. Не могу найти env. Хорошо, я буду использовать прямой путь в строке shebang вместо env. Я редактирую скрипт так, чтобы он читал
#!/usr/bin/python3
print('Hello World')
и запускал его
Emonda:Scripts paul$ ./python_test-01.py
./python_test-01.py: line 1: #!/usr/bin/python3: No such file or directory
./python_test-01.py: line 2: syntax error near unexpected token `'Hello World''
./python_test-01.py: line 2: `print('Hello World')'
Теперь он также не может найти Python3. Поэтому я оглядываюсь вокруг, чтобы убедиться, что на самом деле у меня установлены env и python3 и где они находятся.
Emonda:Scripts paul$ cd /usr/bin/
Emonda:bin paul$ pwd
/usr/bin
Emonda:bin paul$ whereis env
/usr/bin/env
Emonda:bin paul$ whereis python3
/usr/bin/python3
Да, они там, где я и сказал, что они будут в линии Шебанга. / usr / bin /
Вторая глава
После того, как я повторяю это снова и снова, я решаю попробовать что-то другое. Я sh перешел на мой Raspberry Pi, работающий под Debian GNU / Linux. Я отмечаю, что в каталоге / usr / bin / также установлена версия Python3. Я использую vim для написания того же двухстрочного скрипта, начинающегося с одного и того же шебанга: #! / Usr / bin / python3. Chmod 755. «Привет, мир». Это работает с первой попытки.
Что же отличается между этими двумя системами? Все работает как положено в Raspberry Pi. Что случилось с Ма c? Где я должен искать ма c, чтобы найти причину, по которой переводчик не может найти Python3?
Спасибо, стареющий за то, что остался со мной, Пол