Получение ошибки при запуске pyinstaller

avatar
Menachem
8 августа 2021 в 19:13
68
3
0

Чтобы изолировать мою проблему, я запускаю простую двухстрочную программу-пример, которая отлично работает при использовании IDLE или другой среды Python. Однако, когда я пытаюсь преобразовать программу в исполняемый файл с помощью pyinstaller, возникает ошибка. Ошибка отображается в конце распечатки. Приветствуется любая помощь в решении этой проблемы.

Microsoft Windows [Version 10.0.19043.1110]
(c) Microsoft Corporation. All rights reserved.

C:\>
C:\>C:\Users\John\AppData\Local\Programs\Python\Python36\Scripts\pyinstaller example.py
88 INFO: PyInstaller: 4.4
89 INFO: Python: 3.6.5
89 INFO: Platform: Windows-10-10.0.19041-SP0
Traceback (most recent call last):
  File "c:\users\John\appdata\local\programs\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\John\appdata\local\programs\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\John\AppData\Local\Programs\Python\Python36\Scripts\pyinstaller.exe\__main__.py", line 7, in <module>
  File "c:\users\John\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\__main__.py", line 124, in run
    spec_file = run_makespec(**vars(args))
  File "c:\users\John\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\__main__.py", line 58, in run_makespec
    spec_file = PyInstaller.building.makespec.main(filenames, **opts)
  File "c:\users\John\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\building\makespec.py", line 664, in main
    with open(specfnm, 'w', encoding='utf-8') as specfile:
PermissionError: [Errno 13] Permission denied: 'C:\\example.spec'

C:\> 
Источник

Ответы (3)

avatar
Menachem
8 августа 2021 в 21:55
1

Я нашел проблему. По ошибке я использовал неправильную команду изменения каталога, и из-за этого я пытался запустить команду pyinstaller из корневой папки моего диска C, и у меня нет разрешения с помощью обычной командной строки для записи туда файлов.

Неверная ссылка:

C:\>C:\Users\John\AppData\Local\Programs\Python\Python36\Scripts\pyinstaller example.py

Правильная ссылка:

C:\Users\Menachem\AppData\Local\Programs\Python\Python36\Scripts\pyinstaller example.py
avatar
Adam Smooch
8 августа 2021 в 19:25
1

Permission denied: 'C:\temp.spec' разрешено ли вашему пользователю записывать в корень диска C:\?

Возникает вопрос, почему pyinstaller пытается записать (временный файл?) в C:\ в первую очередь... это то, где находится ваш файл temp.py (который вы хотите встроить в .exe) находится??

Попробуйте переместить temp.py в подпапку папки My Documents и т. д. и запустить оттуда команду pyinstaller.

СОВЕТ: если путь pyinstaller указан в вашей переменной PATH, вы можете вызвать его, используя только pyinstaller (без полного/явного пути)<83160803>

Menachem
8 августа 2021 в 21:59
0

Ваш первый вопрос в вашем ответе помог мне решить проблему. Я разместил решение ниже.

avatar
Crybaby
8 августа 2021 в 19:24
-1

Пожалуйста, отредактируйте свое сообщение, чтобы мы могли четко видеть ошибку
для ошибки попробуйте запустить от имени администратора cmd, если это не помогло, проверьте этот
Вопрос

Adam Smooch
8 августа 2021 в 19:26
0

run as admin в качестве шага отладки не является безопасным предложением IMO, поэтому определенно не в качестве первого шага.

Menachem
8 августа 2021 в 20:17
0

Спасибо за ryoru быстрый ответ. Я лучше отформатировал сообщение об ошибке. Перед тем, как разместить свой вопрос, я прочитал все ответы в посте, который вы предложили, и это не помогло. Обратите внимание, что две недели назад я успешно запустил pyinstaller, используя свою более крупную программу, и она работала нормально. Теперь по какой-то причине возникает одна и та же ошибка для большой программы и для примера программы.