Я попытался преобразовать мою программу на Python в.app с помощью PyInstaller. Фактический код прекрасно работает через IDLE, но каждый раз, когда я пытаюсь запустить только что преобразованный.app, он сразу закрывается. Ниже мой файл.spec и мой файл.py. Я отредактировал файл.spec, добавив в него текстовый файл, который импортирую в свой файл.py.
#CENTRALCOAST: 2250-2420 #CENTRALCOAST2: 2250-2267 #NORTHERNBEACHES: 2084-2108 CentralCoast = [] NorthernBeaches = [] OOR = [] Invalid = [] import math def numLen(num): return len(str(abs(num))) with open(‘postcodes.txt’) as input_file: long_list = [line.strip() for line in input_file] for i in range(len(long_list)): long_list[i] = int(long_list[i]) for each in long_list: if 2084
# -*- mode: python -*- block_cipher = None a = Analysis([‘algorithmPOSTCODE.py’], pathex=[‘/Users/CooperTimewell’], binaries=[], datas=[(‘postcodes.txt’, ‘.’)], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, exclude_binaries=True, name=’algorithmPOSTCODE’, debug=False, strip=False, upx=True, console=False ) coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, name=’algorithmPOSTCODE’) app = BUNDLE(coll, name=’algorithmPOSTCODE.app’, icon=None, bundle_identifier=None)
Как я могу остановить его от немедленного закрытия? Спасибо.
Выскакивает командная строка CMD Как убрать
user5856295 05 фев ’18 в 07:45 2018-02-05 07:45
2018-02-05 07:45
5 ответов
Возможно, попробуйте запустить исполняемый файл из окон> выполнить>cmd windows вместо двойного щелчка по исполняемому файлу (я полагаю, вы используете окна)
ОБНОВИТЬ
Этот метод четко покажет, есть ли какая-либо ошибка, из-за которой ваше приложение закрывается преждевременно.
user5230637 28 фев ’20 в 17:22 2020-02-28 17:22
2020-02-28 17:22
У меня была та же проблема, что и у вас, хотя я знал, что мой код не должен закрываться немедленно, так как он ждал user_input. Когда я запустил свой код из терминала, используя python my_script.py программа будет работать нормально.
Вот как я это исправил:
Я переустановил pyinstaller с помощью:
pip install pyinstaller
Я думаю, что это было моим главным, потому что, когда я устанавливал его в первый раз, я считаю, что мой антивирус препятствовал правильной установке некоторых компонентов, и когда я его переустанавливал, он, вероятно, исправлялся в дырах.
Я также попробовал другую команду командной строки. Я явно указал для окончательного.exe, чтобы открыть консоль и оставить ее открытой, используя -c флаг. Это выглядело так:
pyinstaller -c -F -i cm_icon.ico console_monopoly.py
флаг -F должен был объединять все в один.exe вместо того, чтобы в папке dist/ было много файлов, окружающих мой.exe.
флаг -i предназначен для добавления иконки в мою программу.
Надеюсь это поможет!
user9398140 28 май ’18 в 15:54 2018-05-28 15:54
2018-05-28 15:54
Командная строка закрывается после выполнения команды (Решение)
После многих часов чистки / возни, я думаю, что нашел решение!!
У меня была такая же проблема. Это определяется сборкой Pyinstaller, которая отлично работает в Windows и Linux, но закрывается сразу после сборки на Mac. Как и вы, приложение сборки Mac закрывается после открытия, но если вы перемещаетесь по папке приложения и открываете исполняемый файл Unix напрямую, оно работает безупречно. Ваш файл спецификации мне кажется идеальным.
Для меня я проследил проблему до того, что моей программе нужно было записывать файлы на диск, будь то создание файла журнала или создание файла полки (который я использую для даты сохранения). Когда вы запускаете сборку pyinstaller, Mac будет делать все свои действия во время выполнения в случайной временной папке. По какой-то причине Mac могут найти путь к правильной временной папке во время выполнения при запуске из исполняемого файла unix, но теряются при запуске из приложения. Вы МОЖЕТЕ использовать _meipass, чтобы направить файл журнала / полки (или что-то еще) в правильную временную папку, но это вызывает другие проблемы. У некоторых новых Mac нет разрешения на запись в нее, и, кроме того, вы получаете новую временную папку каждый раз, когда открываете программу, что делает ее бесполезной для журналов или сохранений.
Чтобы решить эту проблему, используйте следующий фрагмент:
import sys import os if getattr(sys, ‘frozen’, False): Current_Path = os.path.dirname(sys.executable) else: Current_Path = str(os.path.dirname(__file__))
А затем подключите его к именам файлов журнала / полки / сохранения:
shelfFile = shelve.open(os.path.join(Current_Path, ‘example_data’))
Это решение заставит любой созданный файл выпадать прямо рядом с исполняемым файлом Unix в пакете приложений Mac, а НЕ в случайном временном файле. Mac правильно определит местоположение, и вы сможете ссылаться на один и тот же файл каждый раз, когда открываете программу. Моя программа теперь открывается двойным щелчком по приложению, как и предполагалось.
Я возвращался и пытался решить эту проблему в течение МЕСЯЦЕВ. Надеюсь, кому-то это пригодится.
Источник: stackru.com
После компиляции программа закрывается
: 5
delphi7 программа после компиляции сразу закрывается
компиляция всё нормально проходит форма открывается и сразу же кидает обратно в конструктор.
думаю тут чего то не хватает.
program Project1;
uses
Forms;
begin
Application.Initialize;
Application.Run;
end.
подскажите чего(не обессудьте неделю назад с делфи начал знакомиться)
: 9,201
Так это у вас «пустышка». Что вы хотели бы видеть? У вас ни одной формы не создается.
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
консоль закрывается сразу после выполнения последнего действия | F4RR3LL | Общие вопросы C/C++ | 2 | 14.09.2008 20:43 |
Директивы компиляции | joker | Общие вопросы Delphi | 3 | 10.06.2008 09:41 |
Macromedia Dreamweaver закрывается при наведении на пункт меню | Xardas | Софт | 2 | 04.05.2008 21:39 |
Строки. Программа в Delphi7 | Настена | Помощь студентам | 3 | 09.01.2008 12:33 |
Источник: www.programmersforum.ru
exe-файл не открывается после компиляции
Собрал exe-файл через pyinstaller. Код, написанный на python по-моему великоват. Есть предположения, что из за веса он не открывается. Так как после запуска файла открывается консоль(это как обычно), затем появляется окно игры(да, игра на питоне)), затем все сразу закрывается. Название окна отображается, то есть началось чтение(как я понимаю). Запускал через консоль, дабы посмотреть на наличие ошибок(прикреплю скриншот)
Раньше собирал, было все нормально, но после добавления некоторых элементов(изображений, музыки), появились проблемы в сборке. После я разобрался с этой проблемой, но теперь проблема в выполнении exe-файла.
Ссылка скрыта от гостей
PS в игре локальный юмор, так что фразочки и всякое будут непонятны))
Источник: codeby.net