Pyinstaller, NameError: глобальное имя 'quit' не определено - PullRequest
5 голосов
/ 19 сентября 2011

У меня есть скрипт на python, который прекрасно работает, однако после запуска pyinstaller при использовании команды quit() или exit() я получаю следующее:

Файл Makespec:

# -*- mode: python -*-
a = Analysis([os.path.join(HOMEPATH,'support/_mountzlib.py'), os.path.join(HOMEPATH,'support/useUnicode.py'), 'icinga.py'],
             pathex=['/home/user/projects/icinga_python/releases/onefile_v1.0'])
pyz = PYZ(a.pure)
exe = EXE( pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name=os.path.join('dist', 'icinga'),
          debug=False,
          strip=False,
          upx=True,
          console=1 )

Вот что я вижу после запуска приложения:

Traceback (most recent call last):
  File "<string>", line 222, in <module>
  File "<string>", line 207, in main
  File "<string>", line 66, in icinga_mysql
  File "<string>", line 45, in checksanity
NameError: global name 'quit' is not defined

Ответы [ 3 ]

17 голосов
/ 19 сентября 2011

Это потому, что нет команды quit.Вы ищете sys.exit.

3 голосов
/ 03 февраля 2013

quit можно найти в pygame.locals import *

Использование:

for event in pygame.event.get():
    if event.type == QUIT:
        pygame.quit()
        sys.exit()
2 голосов
/ 13 августа 2018
def quit():
    sys.exit()


self.quit_button = Button(self, text="QUIT",command = quit)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...