как открыть файл exe по заданому пути на пайтон
Как сделать чтобы в нужный момент открывался exe файл из другой директории, использовать можно любые модули вот код (если надо):
def login_sucess(): global screen3 screen3 = Toplevel(screen) screen3.title("Success") screen3.geometry("150x100") Label(screen3, text = "Login Sucess").pack() Button(screen3, text = "OK", command =delete2).pack() #тут открываеться файл по пути С:\User\Desktop\python\dist\main\main.exe
Отслеживать
707 2 2 серебряных знака 16 16 бронзовых знаков
задан 29 янв 2021 в 12:19
1 1 1 серебряный знак 1 1 бронзовый знак
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Используйте класс Popen модуля subprocess.
Это будет выглядеть примерно так:
subprocess.Popen(r"С:\User\Desktop\python\dist\main\main.exe")
Отслеживать
ответ дан 29 янв 2021 в 12:42
Shamus Rezol Shamus Rezol
1,431 5 5 серебряных знаков 18 18 бронзовых знаков
Здравствуйте , ошибку не выдает но файл не запускаеться(
29 янв 2021 в 13:29
@denzzzy, «Changed in version 3.8: Popen can use os.posix_spawn() in some cases for better performance. On Windows Subsystem for Linux and QEMU User Emulation, Popen constructor using os.posix_spawn() no longer raise an exception on errors like missing program, but the child process fails with a non-zero returncode.» (см. ссылку subprocess). То есть, возможно программа просто не найдена. Как я сразу заметил, у вас странный путь к рабочему столу. Вот, к примеру, мой: C:\Users\Shamus_Rezol\Desktop.
29 янв 2021 в 15:49
Попробуйте запомнить создаваемый процесс process = subprocess.Popen(r»С:\User\Desktop\python\dist\main\main.exe») и посмотреть возвращаемый код print(process.poll()) . «but the child process fails with a non-zero returncode» — вероятно он ненулевой.
Упаковка Python программы в EXE файл
Чтобы понять, зачем это может потребоваться, предположим, что вы написали программу на Python. И теперь нужно ее показать руководителю, заказчику или другу. И здесь сразу могут возникнуть трудности. Потому что принимаемая сторона вряд ли обладает познаниями в программировании и к тому же не имеет на компьютере установленного Python, чтобы иметь возможность запустить ваш код.
Гораздо проще заранее позаботиться о простоте запуска Python программы, и упаковать ее в исполняемый EXE файл. Преимущество такого файла в том, что он запускается любым пользователем на любом компьютере под управлением Windows. Даже если на компьютере не установлен Python.
Для упаковки программы будем использовать пакет PyInstaller и надстройку над ним auto-py-to-exe
Ссылки на документацию по данным пакетам:
PyInstaller генерирует EXE файл из командной строки. А auto-py-to-exe надстраивает над PyInstaller пользовательский интерфейс, в котором удобно выбирать различные параметры.
Установка пакетов для упаковки в EXE файл
Для установки пакетов, мы будем использовать pip — систему управления пакетами, написанными на Python.
-
- В поиске Windows набираем cmd
- Запускаем приложение Командная строка от имени администратора(ВАЖНО!)
- Набираем команды для установок пакетов и нажимаем Enter:
• pip install pyinstaller
• pip install auto-py-to-exe
- Дополнительные пакеты установлены.
Упаковка Python программы в EXE файл
Давайте упакуем с помощью установленных пакетов готовую программу A/B Калькулятор.
Для начала, посмотрим как она запускается в неупакованном виде. Открываем файл программы в редакторе Geany и нажимаем Выполнить (F5). Программа выполняется на фоне командной строки. И когда мы окно программы закрываем, окно консоли еще остается открытым.
Перед генерацией EXE файла подготовим директорию, куда он будет сохраняться. Например, на Рабочем столе создаем папку Генерация EXE

- Запускаем командную строку от администратора
- Вводим команду auto-py-to-exe
- В окне приложения производим настройки:
- Указываем путь к директории с исходным файлом программы
- Выбираем опцию Один файл
- Выбираем опцию Оконное приложение (скрыть консоль)
- Нажимаем Настройки и указываем путь к директории экспорта, куда будет сохранен готовый EXE файл
- Жмем кнопку Конвертировать PY в EXE
Некоторое время программа производит обработку. После окончания обработки появляется кнопка Открыть папку вывода . Нажимаем ее и видим в папке готовый EXE файл.

Запускаем EXE файл и проверяем работоспособность. Программа AB Калькулятора запустилась без использования консоли. Теперь файл программы можно пересылать для запуска абсолютно на любом компьютере.
Примечание. Если в процессе запуска EXE файлов возникают проблемы, проверьте, установлен ли Microsoft Visual C++ Redistributable. Если требуется его установка, найти его можно по ссылке .
Превращаем код на Python в исполняемый EXE-файл
Как скомпилировать Python-код в файл EXE, чтобы защитить свой код или наглядно показать работу вашей программы.
Обычно код на Питон запускают двумя способами: через терминал или через текстовый редактор / IDE.
При этом стоит отметить, что файлик Python — это всего лишь скрипт, который сохранён в расширении .py. Да, это очевидно, но в этом и кроется проблема: иногда нужно скрыть исходный код, а поделиться программкой (в виде альфа-версии, например) очень хочется.
Одно из решений, которое закрывают боль с исходным кодом — это конвертация файла Python в исполняемый exe-файлик.
В этой статье мы научимся создавать «экзешники» при помощи двух библиотек: Pyinstaller and auto-py-to-exe.
Перед тем, как продолжить чтение статьи, скачайте этот репозиторий. Он здорово поможет вам понять процесс, если вы будете повторять все шаги вместе с нами.
Почему возникает потребность конвертировать Python-код в EXE
- Код могут украсть. Об этом мы уже говорили выше. Куда проще достать исходный код непосредственно из py-файла, чем из скомпилированного приложение. Py-файл достаточно просто открыть!
- Хочется поделиться кодом с другими юзерами. Дело не только в том, что ваш код могут украсть. Зачастую код содержит зависимости, которыми должен владеть другой юзер перед запуском вашего Python-кода. Но что, если он вообще ничего не смыслит в программировании? Не заставишь ведь его сперва выучить программирование, чтобы оценить ваше новое суперприложение. Проще создать исполняемый файл.
- Исполняемый файл можно запускать автоматически, по расписанию. Этот пункт актуален, если вы решили написать утилиту для вашего ПК, и эта утилита должна запускаться либо в определенное время, либо вместе с запуском ОС.
Конвертация кода Python в файл .exe
Для начала создадим скрипт на Python. В качестве примера мы используем открытый код бронирования жилья AitBnb в Нью-Йорке. Если у вас уже есть готовый код, можете сразу использовать его.
import pandas as pd from pandas.api.types import CategoricalDtype def perform_validation(filename:str): """ A function to validate inputs for NYC Airbnb Open data. """ path_to_data = "../.." data = pd.read_csv(f"") # Convert neighbourhood_group to type category neighbourhood_group_to_cat = CategoricalDtype( categories=["Manhattan", "Brooklyn", "Queens", "Bronx", "Staten Island"], ordered=False ) data["neighbourhood_group"] = data["neighbourhood_group"].astype(neighbourhood_group_to_cat) # Convert room_type to type category room_type_to_cat = CategoricalDtype( categories=["Entire home/apt", "Private room", "Shared room"], ordered=False ) data["room_type"] = data["room_type"].astype(room_type_to_cat) # Convert last_review to datetime data["last_review"] = pd.to_datetime(data["last_review"]) # Minimum nights a person can stay is one night assert data["minimum_nights"].min() >= 1 # Minimum number of reviews is 0 assert data["number_of_reviews"].min() >= 0 # Minimum number of reviews per month assert data["reviews_per_month"].min() >= 0.00 # Minimum amount of listings per host assert data["calculated_host_listings_count"].min() >= 1 # Number of days when listing is available for books # Could be 0 if tennant has long term booking assert data["availability_365"].min() >= 0 # Save validated data data.to_csv("validated_ab_nyc_2019.csv", index=False) if __name__ == "__main__": # User inputs filename filename = input("Enter filename: ") # Ensure it's a string if not filename.isalpha(): filename = str(filename) # Automated validation perform_validation(filename)
Вы не забыли скачать библиотеки по ссылке по введении? Сделайте это сейчас.
Вот структура файлов на GitHub:
# Directory structure | AB_NYC_2019.csv | +---auto_py_to_exe | | requirements.txt | | validation.py +---pyinstaller | requirements.txt | validation.py
Каждая из директорий должна обладать своей виртуальной средой. Убедитесь, что среды развёрнуты и в директории pyinstaller, и в auto-py-to-exe.
Сохраните ваш код и скопируйте его в обе директории.
Что делать в Pyinstaller
Ещё раз убедитесь, что виртуальная среда развёрнута. Да, мы настаиваем. Проверьте, установлены ли все зависимости между библиотеками и кодом.
Всё в порядке? Запускайте команду:
pyinstaller --onefile validation.py
Процесс должен запуститься, и в конце консоль сообщит: «Completed successfully». Значит, всё прошло успешно. ?
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
В папке с библиотекой и кодом должны появиться две новые директории под названиями build и dist. В папке dist вы найдёте заветный exe-файл. Запустите его и проверьте работу приложения.
Что делать в Auto-py-to-exe
Также скиньте файлик с кодом в папку с библиотекой и проверьте зависимости между кодом и библиотекой.
auto-py-to-exe
Команда запустит графический интерфейс.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
- В строчке «Script Location» нажмите «Browse» и выберите py-скрипт.
- В строчке «Onefile» выберите, скомпилируется код в единый файл или в папку. В папке будет содержаться exe-файл и все зависимости кода.
- В строчке «Console Window» выберите настройки отображения exe-приложения, когда оно будет запущено. Если выбрать «Console Based», запустится и программа, и консоль, в которой будут показаны процессы. Опция «Window Based» скрывает консоль.
- Нажмите кнопку «Convert .py to .exe». Готово!
Запускаем exe-файл
В обоих случаях, после компиляции и запуска exe-файла, тот запустит консоль и попросит вас ввести имя файла. Придумайте его и укажите расширение, в котором всё должно работать. К примеру, Tproger-is-the-best-it-media-in-the-world.csv . Тогда консоль закроется, а в папке появится заветный файлик с расширением .csv.
И всё — вы великолепны!
Как запустить exe файл через python
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно.
Необходимо обновить браузер или попробовать использовать другой.
Лучшая CTF площадка рунета Codeby Games Обучение кибербезопасности в игровой форме. Выполняй задания по кибербезопасности в формате CTF и получай бесценный опыт.
B правой части каждого сообщения есть стрелки ⇧ и ⇩ . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок ✔ в правой части сообщения.
