системная ошибка сборки sublime «не удается найти модуль ‘__main__’ в «»

#python #sublimetext3

Вопрос:

Я пытаюсь заставить Sublime 3 работать с Python3.6.5 и получаю сообщение об ошибке ниже.

 /usr/bin/python: can't find '__main__' module in ''
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u ""]
[dir: /Applications/Sublime Text.app/Contents/MacOS]
[path:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]
 

Ответ №1:

Эта ошибка указывает на то, что вы не сохранили файл скрипта Python до того, как попытались запустить сборку. В частности, обратите внимание, что в опубликованных выходных данных вы видите shell_cmd , что было выполнено как:

 [shell_cmd: python -u ""]
 

То есть он пытается выполнить python с пустым именем файла. Например, сравните это с содержимым вашего sublime-build файла, которое
, вероятно, выглядит примерно так:

 "shell_cmd": "python -u "$file"",
 

Если файл не сохранен, у файла нет имени, и в результате интерпретатор Python жалуется на то же самое:

 /usr/bin/python: can't find '__main__' module in ''
 

Имя модуля представляет собой пустую строку ( '' ), которая должна быть именем файла, который вы пытаетесь выполнить.

Комментарии:

1. Я сохранил его, но он не попадает в список систем сборки.

2. Ваши файлы python не будут отображаться в списке систем сборки, там будут отображаться только системы сборки.

3. Если вы имеете в виду, что ваша система сборки не отображается в списке систем сборки, это может быть связано с тем, что файл каким-то образом поврежден. Однако тот факт, что вы получили результат сборки, показывает, что что-то строится, так что, похоже, это не ваша проблема.

4. Правильно, когда я создаю новую систему сборки, я сохраняю ее, и когда я запускаю сборку в своем сценарии, я получаю это сообщение об ошибке.

5. Обратите внимание, что это ваш скрипт Python, который необходимо сохранить на диск; python команда является внешней для Sublime; если файла нет на диске, он не может его видеть.