Pythonw.exe или python.exe?
Короче говоря: pythonw.exe
ничего не делает, python.exe
ничего не принимает (какой я должен использовать?)
test.py:
print "a"
Окно CMD:
C:\path>pythonw.exe test.py
<BLANK LINE>
C:\path>
C:\path>python.exe test.py
File "C:\path\test.py", line 7
print "a"
^
SyntaxError: invalid syntax
C:\path>
Скажите, пожалуйста, что я делаю ужасно неправильно.
Ответы
Ответ 1
Если вы не хотите, чтобы окно терминала всплывало при запуске вашей программы, используйте pythonw.exe
.
В противном случае используйте python.exe
Относительно синтаксической ошибки: print
теперь является функцией в 3.x
Поэтому используйте вместо этого:
print("a")
Ответ 2
Подведение итогов и дополнение существующих ответов:
Вы можете контролировать, какой из исполняемых файлов запускает ваш script по умолчанию - например, при открытии из проводника - , выбирая правильное расширение имени файла:
-
*.py
файлы по умолчанию связаны (вызывается) с помощью python.exe
-
*.pyw
файлы по умолчанию связаны (вызывается) с помощью pythonw.exe
Ответ 3
Смотрите здесь: http://docs.python.org/using/windows.html
pythonw.exe "Это отключает окно терминала при запуске."
Ответ 4
Если вы собираетесь вызывать python script из какого-либо другого процесса (например, из командной строки), используйте pythonw.exe
. В противном случае ваш пользователь будет постоянно видеть окно cmd
, запускающее процесс python. Он все равно будет запускать ваш script точно так же, но он не будет вторгаться в пользовательский интерфейс.
Примером может быть отправка электронной почты; python.exe
появится окно CLI, отправьте электронное письмо, затем закройте окно. Он будет выглядеть как быстрая вспышка и может считаться несколько раздражающим. pythonw.exe
избегает этого, но все равно отправляет электронное письмо.
Ответ 5
Я изо всех сил пытался заставить это работать некоторое время. После того, как вы измените расширение на .pyw, убедитесь, что вы открываете свойства файла и направляете путь "open to" к pythonw.exe.