Я пытаюсь немного изучить Python3, поэтому обо всем по порядку: Hello World. Но как бы просто это ни было, я ужасно провожу время со строкой 1, ссылкой на Shebang. Я создаю следующий скрипт на своем ноутбуке под управлением Mac 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 /
Вторая глава
Повторяя это снова и снова, я решаю попробовать что-нибудь другое. Я подключился к своему Raspberry Pi, работающему под управлением Debian GNU / Linux. Замечу, что у него тоже есть версия Python3, установленная в каталоге / usr / bin /. Я использую vim для написания того же двухстрочного скрипта, начинающегося с одного и того же шебанга: #! / Usr / bin / python3. Chmod 755. «Привет, мир». Работает с первой попытки.
В чем разница между этими двумя системами? В Raspberry Pi все работало как положено. Что случилось с Mac? Где мне искать на Mac, чтобы найти причину, по которой интерпретатор не может найти Python3?
Спасибо старости за то, что повесился со мной, Пол
python3 ./python_test-01.py
? - person Ed Ward   schedule 05.03.2020python my_script.py
. - person Jan Kislinger   schedule 05.03.2020Textedit
для создания сценария? Если это так, не забудьте выбрать параметр менюFormat
, а затемMake Plain Text
перед сохранением. - person Mark Setchell   schedule 07.03.2020#!/usr/bin/env pythonX
не работает при запуске из меню сценария, еслиpythonX
установлен через MacPorts. Может также повлиять на другие типы установок.env
нормально работает со встроенным питоном. - person Mat Gessel   schedule 30.01.2021