Exe — Ошибки после компиляции Python в exe файл


Содержание

Python-сообщество

Уведомления

#1 Янв. 10, 2020 14:54:50

Ошибка при компиляции программы в PyScripter

Написал простую программу т.к. только приступил к изучению данного языка. При компиляции вылазит такая ошибка “error ascii codec can’t encode characters in position 32-38 ordinal not in range (128)” Я уже менял кодировку в меню Формат файла, ничего не помогло. Что это и как избавиться от этой ошибки, чтоб программа нормально откомпилировалась?

Отредактировано Lemonade (Янв. 10, 2020 14:56:59)

#2 Янв. 10, 2020 15:55:03

Ошибка при компиляции программы в PyScripter

Влодение рускай арфаграфией — это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

#3 Янв. 10, 2020 16:26:38

Ошибка при компиляции программы в PyScripter

#4 Янв. 10, 2020 18:53:43

Ошибка при компиляции программы в PyScripter

Вот код. И добавил строку # coding: utf-8, но ничего не изменилось

#5 Янв. 10, 2020 19:04:57

Ошибка при компиляции программы в PyScripter

1. В пути к модулю не должно находится ничего кроме латиницы.
2. Имя файла и файлов только латиницей.

#6 Янв. 10, 2020 19:28:04

Ошибка при компиляции программы в PyScripter

Что вы имеете ввиду? Имя файла, как видно из фото, латиницей. Путь к модулю? Это что, сам файл?
Я выбрал Файл — Новый — Создать модуль, или Файл — Новый — Создать файл — Python скрипт, и так, и так открывается окно, пишу просту программу, только нажимаю кнопку Компиляция, сразу это вылетает.

#7 Янв. 10, 2020 19:39:43

Ошибка при компиляции программы в PyScripter

Путь к модулю это путь к файлу. Если он будет по пути: c:\new\проблема, то будут проблемы. Мало того. У Вас на скрине открыто еще несколько файлов. Уберите их и удалите из папки. Модуль 1 и модуль 2. А лучше прекратите мучить себя и поставьте PyCharm. Бесплатный даже лучше чем PyScripter. Сам на PyScriptere года 4 сидел…

#8 Янв. 10, 2020 20:26:47

Ошибка при компиляции программы в PyScripter

Это ж я пытался создать файл, чтоб компилировался. Ну странно однако, что ж не так. Никто не знает..

#9 Янв. 10, 2020 20:33:25

Ошибка при компиляции программы в PyScripter

4kpt_IV
А лучше прекратите мучить себя и поставьте PyCharm

Отредактировано Lemonade (Янв. 10, 2020 20:34:22)

#10 Янв. 10, 2020 21:34:28

Ошибка при компиляции программы в PyScripter

Lemonade
PyCharm 230 мб, зачем зря место на диске занимать.

Ну тогда наслаждайтесь глюками.

Lemonade
Это ж я пытался создать файл, чтоб компилировался. Ну странно однако, что ж не так. Никто не знает..

Я ответил уже на вопрос. Никто ничего не добавит. Что значит создать? Он его где создает? В виртуальном параллельном мире? Он создает его по пути, который прописан в настройках. Так вот в этом пути не должно быть русских символов. Куда вы установили сам PyScripter и куда Python, с помощью которого он пытается исполнять файл? Где он создает файл? По какому пути? Проверьте все внимательно. Еще были бока у одной версии PyScripter, что он болезненно реагировал на MIME типы в юникоде.


Python: При попытке компиляции в EXE отсутствует модуль «очередь»?

С обоими , pyinstaller и cxfreeze я получаю эту ошибку :

Я попытался компиляции точно такой же сценарий , который я составил несколько месяцев назад ( Он работал это время ) , но теперь я получаю ошибку , которая заставила меня думать , что это была python ошибка версии, поэтому я перешел от 3.4.4 до 3.5.2 , но что не помогло.

Я также пробовал разные версии pyinstaller и cxfreeze но все дали мне ту же ошибку.

Пожалуйста, помогите мне по этому вопросу. Заранее спасибо.

cxfreeze , кажется, не поддерживает самую последнюю версию requests . Эта ошибка была исправлена для меня понижает до v2.11.1

pip install requests==2.11.1

Иногда импорт не обнаружено. У меня была такая же проблема с модулем очереди. Добавление queue модуля к скрытому импорту в .spec файле решена проблемы для меня (PyInstaller):

Компиляция программы на python 3 в exe с помощью программы cx_Freeze

Наверняка, у каждого Python-программиста возникало непреодолимое желание, а изредка и реальная потребность, скомпилировать свою программу на python в exe файл. Сегодня я расскажу, как это сделать с помощью программы cx_Freeze.

Вопрос 1: а оно надо?

Прежде, чем начинать компилировать программу, нужно убедиться, что это действительно необходимо.

«Компиляция» программы на python — процесс, который может сопровождаться множеством проблем. Более того, это не компиляция в машинный код, как, например, программы на C, а лишь «сборка» в исполняемый файл вашей программы вместе с частью интерпретатора python.

Поэтому, если вы будете использовать программу сами или на компьютерах тех, кто её будет использовать, будет стоять интерпретатор python, то вам не нужно её компилировать.

Установка cx_Freeze

Если компилировать программу на python всё-таки нужно, то скачиваем cx_Freeze с https://www.lfd.uci.edu/

gohlke/pythonlibs/#cx_freeze (так как в ней нет одного неприятного бага, который есть в официальной версии).

Затем устанавливаем, не забывая правильно выбрать директорию, где расположен python.

Компиляция

Компилировать будем программу «блэкджек» (файл 21.py) (кому лень смотреть, привожу полный исходный код).

Цукерберг рекомендует:  Эффект предварительной загрузки страницы

Создаём в папке с программой файл setup.py с содержимым:

Переходим в командную строку (обычно Пуск → Стандартные → Командная строка). Переходим в папку с программой (в моём случае D:\Dima\py). Запускаем команду C:\Python34\python.exe setup.py build (вместо C:\Python34 нужно написать папку, куда установлен python).

Начнется процесс сборки, в котором cx_Freeze может выдавать предупреждения, но, скорее всего, они не повлияют на работу программы.

Поздравляю! В папке build теперь есть ваша папка с исполняемым файлом!

Заметьте, не файл, а папка! Все остальные файлы также нужны для работы программы (да, это недостаток cx_Freeze). К тому же, при завершении программы окно сразу закрывается (а не ждет нажатия клавиши), поэтому в конец программы нужно дописать что-то вроде:

И скомпилировать ещё раз.

Также можно создать msi-архив командой C:\Python34\python.exe setup.py bdist_msi.

Разумеется, при компиляции более сложных программ вы можете столкнуться с более сложными проблемами.

Для их решения следует воспользоваться официальной документацией.

Неустранимая ошибка в лаунчере: не удалось создать процесс с помощью «»C:\Program файлы (x86)\Python33\python.exe» «C:\Program файлы (x86)\Python33\pip.исполняемый»»

поиск в сети это, кажется, проблема, вызванная пробелами в пути установки Python.

Как сделать pip работать без переустановки всего в пути без пробелов ?

21 ответ:

будет работать в любом случае (работал для меня) (см. ссылка по user474491)

по крайней мере, на Windows, pip сохраняет путь выполнения в исполняемом файле pip.exe , когда он установлен.


отредактируйте этот файл с помощью шестнадцатеричного редактора или WordPad (вы должны сохранить его как обычный текст, а затем сохранить двоичные данные), измените путь к Python с кавычками и пробелами следующим образом:

к экранированному пути без пробелов и кавычек и pad с пробелами (точки в конце должны быть пробелами):

для «C:\Program файлы», этот путь будет наверное, будет «C:\Progra

1″ (сокращенные имена путей в DOS / Windows 3.X нотация использовать тильду и числа). Windows предоставляет эту альтернативную нотацию для обратной совместимости с DOS / Windows 3.x приложения.

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

сохранить с правами администратора, убедитесь, что он действительно сохранен в целевом местоположении и повторите попытку.

вы можете также нужно установить PATH переменная для использования

обозначение пути к pip .

имея те же проблемы, которые я читал в https://pip.pypa.io/en/latest/installing.html#install-pip что бы обновить Пип это:

python -m pip install -U pip

Так я сделал (например)

python -m pip install virtualenv

и это сработало! Таким образом, вы можете сделать то же самое, что и «virtualenv» другой пакет, который вы хотите.

действительно работает для проблема Fatal error in launcher: Unable to create process using ‘»‘ .Работал на Windows 10

вот как я решил это:

открыть pip.exe в 7zip и экстракт __main__.py в папку Python\Scripts.

в моем случае это был C:\Program Files (x86)\Python27\Scripts

переименовать __main__.py to pip.py

запустить его! python pip.py install something

если вы хотите быть в состоянии сделать pip install something из любого места, сделайте это тоже:

переименовать pip.py к pip2.py (чтобы избежать ошибок импорта pip)

сделать C:\Program Files (x86)\Python27\pip.bat следующего содержания:

python «C:\Program файлы (x86)\Python27\Scripts\pip2.py» %1% 2% 3% 4 %5 %6 %7 %8 %9

добавить C:\Program Files (x86)\Python27 к вашему пути (если уже нет)

запустить его! pip install something

Это известная ошибка когда есть пробел в virtualenv путь. Исправление было сделано, и будет доступно в следующей версии.

У меня была аналогичная проблема, и обновление pip исправило ее для меня.

Это было на Windows и путь к python внутри pip.exe был неверным. Смотрите Archimedix ответ для получения дополнительной информации о пути.

У меня была такая же проблема в windows 10, после попытки всех предыдущих решений проблема сохраняется, поэтому я решил удалить свой python 2.7 и установить версию 2.7.13, и она отлично работает.

Я переименован исполняемый файл python.exe , например, python27.exe . В отношении ответа Archimedix Я открыл свой типун.ехе с Hex-Editor, прокрутил до конца файла и изменил python.exe на пути к python27.exe . При редактировании make shure вы не переопределяете другую информацию.

Я решаю свою проблему в Окно если вы устанавливаете оба python2 и python3

вам нужно ввести кого-то \Scripts изменить все .exe до file27.exe, то это решить

мой D:\Python27\Scripts редактировать django-admin.exe до django-admin27.exe так и сделали

моя точная проблема была (фатальная ошибка в launcher: не удалось создать процесс с помощью ‘»‘) на windows 10. Поэтому я перешел к «C:\Python33\Lib\site-packages» и удалил папку django и папки pip, а затем переустановил django с помощью pip, и моя проблема была решена.

Я написал сценарий, чтобы исправить эти exe. Но лучший способ-это исправить distutil сам.


попробуйте переустановить, используя ссылку ниже,

после загрузки скопируйте «get-pip.py» чтобы установить python main dirctory, откройте cmd и перейдите в каталог python и введите «python get-pip.py» (без кавычек)

Примечание: также убедитесь, что каталог python установлен в переменной среды.

надеюсь, что это может помочь.

на Windows, я решил эту проблему немного сложным образом :

1) Удалил Python

2) пошел к C:\Users\MyName\AppData\Local\Programs (вы должны включить видимость скрытых файлов Показать скрытые файлы инструкция)

3) удалена папка ‘Python’

4) установлен Python

для меня эта проблема появилась, когда я изменил путь среды, чтобы указать на П2.7 который изначально указывал на В3.6. После этого бежать Пип или virtualenv команды, я должен был python -m pip install XXX Как указано в ответах ниже.

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

Я решил установить Python для Windows (64bit) не для всех пользователей, а только для меня.

переустановка Python-x64 и проверка расширенной опции «для всех пользователей» решили проблему pip для меня.

У меня была такая же проблема, и я сделал обновление pip, используя следующее, И теперь он отлично работает. python -m pip install —upgrade pip

У меня была эта проблема, и другие исправления на этой странице не полностью решили проблему.

что решило проблему, входило в мои системные переменные среды и смотрело на путь — я удалил Python 3, но старый путь к папке Python 3 все еще был там. Я запускаю только Python 2 на своем ПК и использовал Python 2 для установки pip.

удаление ссылок на несуществующие папки Python 3 из PATH в дополнение к обновлению до последней версии из pip Исправлена проблема.

Цукерберг рекомендует:  Слайдер миниатюр с помощью jQuery

пожалуйста, добавьте этот адрес :

в переменной пути Windows

хотя сначала убедитесь, что это папка, в которой находится исполняемый файл Python, а затем только добавьте этот путь к переменной PATH.

чтобы добавить адреса в переменную PATH, перейдите в

Панель Управления — > Системы — > Расширенные Настройки Системы — > Окружающая Среда Переменные — > Системные Переменные — > Путь — > Правка — >

затем добавьте вышеупомянутый путь и нажмите кнопку Сохранить

Я добавил мой anwer, потому что я получаю ту же ошибку при настройке исходного кода ODDO9 в локальном и его нужно exe для запуска во время запуска exe, я получил ту же ошибку.

со вчерашнего дня я был настроен oddo 9.0 (раздел: — » зависимости Python, перечисленные в требованиях.txt-файл.») и его нужно запустить PIP exe как

C:\YourOdooPath> C:\Python27\Scripts\pip.требования к установке exe — R.txt

мой путь oddo :- D:\Program файлы (x86)\Odoo 9.0-20151014 Мое местоположение pip: — D:\Program файлы (x86)\Python27\Scripts\pip.exe

поэтому я открываю командную строку и иду по пути выше oddo и пытаюсь запустить pip exe с этой комбинацией, но не всегда выше ошибки.

    D:\Program файлы (x86)\Python27\Scripts\pip.требования к установке exe — R.txt

«D:\Program файлы (x86)\Python27\Scripts\pip.требования к установке exe — R.формат txt» Python27\Scripts\pip.исполняемый требования к установке-R.txt

» Python27 / Scripts / pip.требования к установке exe — R.txt»

Я решил свою проблему с помощью ответа @user4154243, спасибо за это.

Шаг 1: добавить переменную(если ваш путь не входит в путь переменной).

Шаг 2: Перейдите в командную строку, откройте путь oddo, где вы установили.

Шаг 3: выполните эту команду python -m pip install XXX будет работать и установленных вещей.


вместо вызова ipython напрямую, он загружается с помощью Python, таких как

Как из файла Python3 создать .exe на Windows

Способ 1

Мы рассмотрим создание .exe с помощью библиотеки модуля py2exe. Для этого необходим Python 3.4 и ниже.

Если у вас установлена более высокая версия Python, попробуйте использовать Способ 2 (ниже)

В этом примере мы рассмотрим создание .exe на примере Python3.4.

Прежде всего на нужно создать виртуальное окружение для Python3.4. В этом примере мы назовем myenv, Вы можете выбрать любое другое имя, но не забывайте сделать соответствующие изменения.

На терминале наберите следующие команды:

В командной строке появится префикс myenv, а это значит, что виртуальное окружение с именем myenv загружено. Все команды Python теперь будет использовать новое виртуальное окружение.

Теперь давайте установим py2exe (https://pypi.python.org/pypi/py2exe

HEAD=dobj) в нашем виртуальном окружении:

И, наконец, чтобы создать единый EXE-файл, в нашем виртуальном окружении выполняем команду:

(замените hello.py на имя вашего скрипта. Если скрипт находится в другой папке, то нужно использовать полный путь к вашему сценарию, например, C:\Projects\Python\ hello.py). Это создаст папку DIST, которая содержит исполняемый файл. Для быстрого доступа к нему, наберите в терминале:

Вы увидите путь к папке, где находится EXE-файл.

Примечание: При выполнении, откроется окно и исчезают так же быстро, как и появилось.
Это происходит потому, что операционная система автоматически закрывает терминал, в котором консольная программа закончена.
Для того, чтобы изменить эту ситуацию, можно добавить строчку

в конце файла Python. Интерпретатор будет ждать ввода пользователя, а окно будет оставаться открытым, пока пользователь не нажимает клавишу ввода.

Вы можете подробно изучить использование py2exe в документации на странице модуля: https://pypi.python.org/pypi/py2exe
Выход из виртуального окружения производится командой

Способ 2

Через командную строку Windows устанавливаем pyinstaller:

В командной строке переходим в папку, где находится файл

Затем в командной строке набираем команду

Вместо exapmle.py используем имя файла, из которого нужно создать exe файл.

Через пару минут все готово! Скоркее всего, exe файл будет находится во созданной подпапке dist

Ошибка при компиляции (Python)

Traceback (most recent call last):
File «prog.py», line 3, in
from ctypes.wintypes import *
File «/usr/lib/python2.7/ctypes/wintypes.py», line 23, in
class VARIANT_BOOL(_SimpleCData):
ValueError: _type_ ‘v’ not supported

Пробовал компилировать через онлайн компилятор ибо есть необходимость только в одном файле. Подскажите как исправить эту ошибку (с программированием давно не сталкивался, так что по медленнее я записываю :))

Немного про py2exe

Есть такое приложение. Называется py2exe. Оно позволяет упаковать, сконвертировать программу на python в exe файл (ну, точнее, exe и еще кучку других). Зачем оно все надо? Ну, далеко не у всех пользователей windows установлен интерпретатор python с нужными библиотеками. А вот упакованная программа в идеале должна запуститься на любой windows-машине.

Установка

К сожалению, py2exe не поддерживает третью версию питона.
Скачать py2exe можно на SourceForge.
Если у вас стоит python (а он у вас наверняка стоит), проблем с установкой возникнуть не должно. Ставится в директорию python.

Конвертация

Где main.py имя Вашего скрипта.

Далее запускаем упаковку командой:

Да-да, именно так.

Смотрим, что у нас получилось. Две папки.
build — служебная, можно сразу снести.
dist — собственно, в ней и лежит наша программа.

Как было сказанно выше, это не один файлик:

  • main.exe — программа
  • pythonXX.dll — интерпретатор python’a
  • library.zip — архив со скомпилированными исходниками (всего, кроме собственно программы, как я понимаю)
  • .pyd — модули python, которые импортирует программа
  • .dll — библиотеки, оказавшиеся необходимыми
  • и еще файлы по мелочи, ниже будет сказано еще



Неужели все так просто? Неправда;)

Сложности

Скорее всего возникнут какие-то проблемы.

Например, пути к файлам. Не следует использовать относительные пути. Они ведут неведомо куда. Лучше использовать абсолютные.
Как его узнать? в интернете есть решение, функция module_path.

Copy Source | Copy HTML

  1. import os, sys
  2. def module_path ():
  3. if hasattr(sys, «frozen» ):
  4. return os.path.dirname(
  5. unicode(sys.executable, sys.getfilesystemencoding( ))
  6. )
  7. return os.path.dirname(unicode(__file__, sys.getfilesystemencoding( )))

Или приложение наотрез откажется запускаться (возможно, не у Вас, а у кого-то еще). Из-за отсутствие библиотек Visual Studio.
В качестве решения проблемы можно установить их на компьютер (но это же не наш метод) или кинуть dll и файл манифеста в папку с программой.
msvcr90.dll и Microsoft.VC90.CRT.manifest (не знаю как это лицензируется и выкладывать не буду)
Где их взять? Для меня самым простым было переустановить python (все остальное осталось на месте) в режиме «только для меня». И искомые файлы оказались в папке с python.

Целью топика не являлось раскрыть всех особенностей py2exe. Здесь находится туториал, а тут некоторые советы и трюки.

Размер

В силу некоторых особенностей, приложение может получиться ужасающего размера. Но с этим можно и нужно бороться. Идеи подсказал kAIST (ну, кроме upx’а =р)

Цукерберг рекомендует:  C# - Проблема с программой (C#)

    Самое действенное. Сжать библиотеки upx’ом. Консольное приложение. Работает элементарно. На вход передается файл, оно его сжимает. Для моей игры реверси размер уменьшился в

Делаем бинарный файл из Python скрипта при помощи Py2exe

Писать на python конечно удобно и быстро, а вот распространять потом скрипт как-то не огонь. Во первых запускать его не совсем удобно. Во вторых нужно заставлять пользователя самостоятельно ставить все зависимости и интерпретатор.
Но есть возможность скомпилировать ваш скрипт на python в исполняемый exe файл. Сделать это можно при помощи py2exe. Библиотека уже довольно бородатая.
Установите нужную версию (тут важно чтобы разрядность и версия python совпали с версиями py2exe).

Скрипт у меня простой:

Теперь нужно создать файл setup.py

После чего можно запускать компиляцию.

Вылезет много буков. А в конце такое.

Теперь переходим в каталог dist и запускаем пол полученный бинарник:

Ошибки компиляции при установке Python

Я надеюсь, что кто-то может помочь мне, так как я застрял на этом некоторое время, и я не очень знаком с компиляцией пакетов. Попытка установить следующий пакет: https://github.com/jhkorhonen/MOODS/wiki/Installation

Запуск Python 3.5 (Anaconda), Windows 10 64bit, Microsoft Visual Studio 2020 Community Edition. Вот что я сделал до сих пор.

Ошибка 1: cd отредактировал местоположение извлеченного пакета python setup.py install —user но получил ошибку, которая говорит:

running install
running build
running build_py
running build_ext
building ‘MOODS._tools’ extension
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Icore/ -IC:\Users\Wolf\Anaconda3\include -IC:\Users\Wolf\Anaconda3\include /EHsc /Tpcore/tools_wrap.cxx /Fobuild\temp.win-amd64-3.5\Release\core/tools_wrap.obj -march=native -O3 -fPIC —std=c++11
error: command ‘cl.exe’ failed: No such file or directory

Решение 1: Оказывается C:\Program Files (x86)\Microsoft Visual Studio 14.0 не имеет \VC папку, которую он ищет, но я нашел ее в C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\VC\bin так что я добавил это к PATH ,

Тогда еще одна ошибка:

  • Ошибка 2: C:\Program Files (x86)\Microsoft Visual
    Studio\Shared\14.0\VC\bin\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD
    -Icore/ -IC:\Users\Wolf\Anaconda3\include -IC:\Users\Wolf\Anaconda3\include /EHsc /Tpcore/tools_wrap.cxx /Fobuild\temp.win-amd64-3.5\Release\core/tools_wrap.obj -march=native
    -O3 -fPIC —std=c++11 cl : Command line warning D9002 : ignoring unknown option ‘-march=native’ cl : Command line warning D9002 :
    ignoring unknown option ‘-O3’ cl : Command line warning D9002 :
    ignoring unknown option ‘-fPIC’ cl : Command line warning D9002 :
    ignoring unknown option ‘—std=c++11’ tools_wrap.cxx
    c:\users\wolf\anaconda3\include\pyconfig.h(68): fatal error C1083:
    Cannot open include file: ‘io.h’: No such file or directory error:
    command ‘C:\\Program Files (x86)\\Microsoft Visual
    Studio\\Shared\\14.0\\VC\\bin\\cl.exe’ failed with exit status 2
  • Решение 2. Итак, я добавил переменную среды INCLUDE и установить его
    в C:\Program Files (x86)\Windows
    Kits\10\Include\10.0.14393.0\ucrt , у которого есть io.h ,

Тем не менее, еще одна ошибка:

C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\VC\bin\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Icore/ -IC:\Users\Wolf\Anaconda3\include -IC:\Users\Wolf\Anaconda3\include «-IC:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt» /EHsc /Tpcore/tools_wrap.cxx /Fobuild\temp.win-amd64-3.5\Release\core/tools_wrap.obj -march=native -O3 -fPIC —std=c++11
cl : Command line warning D9002 : ignoring unknown option ‘-march=native’
cl : Command line warning D9002 : ignoring unknown option ‘-O3’
cl : Command line warning D9002 : ignoring unknown option ‘-fPIC’
cl : Command line warning D9002 : ignoring unknown option ‘—std=c++11’
tools_wrap.cxx
C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt\corecrt.h(10): fatal error C1083: Cannot open include file: ‘vcruntime.h’: No such file or directory
error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\14.0\\VC\\bin\\cl.exe’ failed with exit status 2

Я не уверен, как решить это. Кажется, что добавление вещей в PATH не очень помогает Может быть, это связано с внедрением Universal CRT? Стоит ли просто удалить Visual Studio 2020 и использовать более старую версию?

Решение

У меня была очень похожая проблема с Python 3.5 (Anaconda), Windows 10 64bit, Microsoft Visual Studio 2020 Professional Edition.

Вы пытались включить 64-битный набор инструментов Visual C ++ в командной строке?
Для этого запустите vcvars64.bat сначала в командной строке.
В моем случае локализация это:

Это было достаточно для меня и решило мою проблему.

Кроме того, я вижу, что некоторые пользователи должны установить «Windows Universal CRT SDK» (У меня это уже есть). Проверьте, есть ли у вас это:


  1. Запустите установщик Visual Studio.
  2. Выберите кнопку Изменить.
  3. Перейдите на вкладку «Отдельные компоненты».
  4. Прокрутите вниз до «Компиляторы, инструменты сборки и среды выполнения».
  5. Галочка «Windows Universal CRT SDK».
  6. Установить.

PS: для удобства рекомендую использовать powershell. Скрипт для настройки vcvars64.bat пример из Вот :

Другие решения

Вы также можете скачать и установить Окно 10 SDK независимо,

используя эту ссылку, надеюсь, что это решит проблему.

Во-вторых, попробуйте использовать команду propmpt, например, Vs2020 x64 Native Tools, а затем попробуйте выполнить процесс компиляции.

Exe — Ошибки после компиляции Python в exe файл

3777 просмотра

2 ответа

3 Репутация автора

Я создал GUI (используя Tkinter) в Python, и он запускает файлы Python по нажатию кнопки из GUI, используя os.system (‘python_file.py’). Я хотел собрать все эти файлы Python в один файл .exe, используя pyinstaller, сохранив файл Tkinter в качестве основного.

Я создал файл .exe, выполнив в командной строке следующее:

pyinstaller —debug —onefile —noupx tkinter_app.py

В настоящее время мой файл .spec выглядит так:

Я не уверен, как включить другие файлы Python в вышеупомянутый файл .spec, чтобы все приложение работало . Может кто-нибудь, пожалуйста, помогите?

Ответы (2)

плюса

56 Репутация автора

Лучший способ — использовать массив данных.

Например, вот так:

Примечание. Убедитесь, что вы указали правильный относительный путь, чтобы ваша программа могла получить к нему доступ.

Изменить: Учитывая ваше сообщение об ошибке, проблема не в упаковке с PyInstaller, а в команде os.system.

os.system эквивалентна открытию окна команд DOS и связыванию вашей команды python_file.py

Чтобы получить доступ к вашим файлам Python, вы должны знать:

    PyInstaller распаковывает ваши упакованные файлы во временную папку, к которой вы можете получить доступ в sys._MEIPASS (работает только из .exe)

os.system может быть использован для запуска python с указанием полного пути к файлу следующим образом: os.system(«python » + os.path.join(sys._MEIPASS, «python_file.py»))

Но будьте осторожны, это будет работать, только если python установлен в системе (и включен в syspath) и из exe. Непосредственное выполнение вашего файла Python отправит исключение.

плюса

6 Репутация автора

Предположим, у вас есть два файла: «my_main.py» и «my_functions.py» . Предположим, что «my_main.py» импортирует методы из «my_functions.py»

Выполните следующую команду:

pyinstaller —onefile my_main.py my_functions.py

Результирующий одиночный исполняемый файл «my_main.exe» будет создан в папке «dist» текущего рабочего каталога.

Идентичный процесс для Linux / Windows. Для более чем двух файлов Python просто включите их один после пробела.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих