#python #macos #terminal
#python #macos #терминал
Вопрос:
Как я могу запустить скрипт python в терминале на Mac без использования ключевого слова «python», без необходимости редактировать мои существующие файлы python?
Прямо сейчас я должен сделать это: python script.py
Что мне нравится делать, так это: script.py
Ответ №1:
Добавьте shebang:
#!/usr/bin/python
или
#!/usr/bin/env python
Я предпочитаю второй, поскольку Python может быть где угодно, например /usr/ bin / python, / usr / local / bin / python и т.д. И второй гарантирует, что вам не придется постоянно редактировать shebang.
И затем вы можете просто выполнить его так, ./script.py
как если бы он был исполняемым.
Комментарии:
1. Будет ли этот трюк работать и на компьютере с Windows?
Ответ №2:
в вашем скрипте на python добавьте это в качестве первой строки
#!/usr/bin/python
затем в терминале выполните этот chmod x./yourpythonscript.py
затем из терминала выполнить как ./yourpythonscript.py
Комментарии:
1. @mofle нет, извините, вы не можете сделать файл исполняемым в системе unix, не указав, какой файл будет его выполнять
2. Я не знаю, как, но на Mac может быть возможно связать расширение или тип mime с обработчиком (например, открыть все файлы типа .py с помощью python) и т.д. Тогда вы сможете сделать это без изменения ваших исходных файлов.
3. На самом деле, вы можете сделать текстовый файл исполняемым, но система затем будет использовать вашу оболочку (возможно, bash) для его выполнения. Кроме того,
#! /usr/bin/env python
немного более переносимый, поскольку он не жестко кодирует то, где находится python.
Ответ №3:
Попробуйте ./script.py вместо script.py … или убедитесь, что ваш текущий каталог находится в вашем path и script.py должно сработать….
Комментарии:
1. спасибо, это помогло. Я пытался запустить с помощью просто script.py в командной строке, и это выдавало меня
command not found
.