Как программу пайтон конвертировать в exe

Python 3.6 до сих пор не поддерживается Pyinstaller. Так что для его использования вам понадобится Python 3.5 или ниже. Я не уверен насчет py2exe, хотя.

В любом случае, случай 1 должен быть сделан так:

Откройте окно cmd в папке Python (откройте командное окно и используйте cd или, удерживая Shift, щелкните правой кнопкой мыши на проводнике Windows и выберите «Открыть командное окно здесь»). Тогда просто введите

pip install pyinstaller

Самый простой способ использовать это, введя в командной строке

pyinstaller file_name.py

Для более подробной информации о том, как его использовать, взгляните на этот вопрос .

Обновить

Python 3.6 теперь поддерживается Pyinstaller

Я пытаюсь преобразовать довольно простую программу Python в исполняемый файл и не смог найти то, что искал, поэтому у меня есть несколько вопросов (я использую Python3.6):

Методы сделать это, которые я нашел до сих пор, заключаются в следующем

  1. загрузить старую версию Python и использовать pyinstaller/py2exe
  2. Настройка виртуальной среды в 3.6, что позволит мне сделать 1.
  3. скачать конвертер Python в C ++ и использовать его.

Вот что я пробовал / с какими проблемами столкнулся.

Конвертируем .py в .exe | PyInstaller

  • Я установил pyinstaller перед требуемой загрузкой перед ним (pypi-что-то), чтобы он не работал. После загрузки необходимого файла pyinstaller прежнему не распознает его.
  • Если я устанавливаю virtualenv в 2.7, нужно ли мне устанавливать 2.7?
  • аналогично, единственные конвертеры Python в C ++, которые я вижу, работают только до Python 3.5 — нужно ли загружать и использовать эту версию, если я пытаюсь это сделать?

py2exe — это расширение distutils, которое позволяет создавать автономные исполняемые программы Windows (32-битные и 64-битные) из скриптов Python; Python 3.3 и более поздние версии поддерживаются. Он может создавать исполняемые файлы консоли, исполняемые файлы Windows (GUI), службы Windows и COM-серверы DLL / EXE.

Вы можете скачать это здесь:

На Github есть проект с открытым исходным кодом, называемый auto-py-to-exe. На самом деле он также просто использует Pyinstaller для внутреннего использования, но поскольку он имеет простой графический интерфейс, который управляет Pyinstaller, он может быть удобной альтернативой. Он также может выводить отдельный файл в отличие от других решений. Они также предоставляют видео, показывающее, как его настроить.

GUI:

Выход:

Я использовал Nuitka и PyInstaller с моим пакетом PySimpleGUI.

Nuitka Были проблемы с компиляцией tkinter с Nuikta. Один из участников проекта разработал сценарий, который исправил проблему.

Если вы не используете tkinter, он может «просто работать» для вас. Если вы используете tkinter, скажите об этом, и я постараюсь опубликовать скрипт и инструкции.

PyInstaller У меня работает 3.6 и PyInstaller работает отлично! Команда, которую я использую для создания моего exe-файла:

Читайте также:
Программа чтобы делать мультики для Андроид

Python в EXE

-WF создаст один EXE-файл. Поскольку все мои программы имеют графический интерфейс, и я не хочу показывать окно команд, опция -w скрывает окно команд.

Это так же близко к запуску того, что похоже на программу Winforms, написанную на Python.

[Обновление 20 июля 2019 года]

Существует решение на основе графического интерфейса PySimpleGUI, использующее PyInstaller. Он использует PySimpleGUI. Он называется pysimplegui-exemaker и может быть установлен в pip.

pip install PySimpleGUI-exemaker

Чтобы запустить его после установки:

python -m pysimplegui-exemaker.pysimplegui-exemaker

Я не могу сказать вам, что лучше, но инструмент, который я успешно использовал в прошлом, был cx_freeze. Недавно они обновили (7 января 17 года) версию 5.0.1, и она поддерживает Python 3.6.

Документы показывают, что есть несколько способов сделать это в зависимости от ваших потребностей.
http://cx-freeze.readthedocs.io/en/latest/overview.html

Я еще не попробовал это, поэтому я собираюсь указать на пост, где обсуждался простой способ сделать это. Хотя некоторые вещи могут измениться или не измениться.
Как мне использовать cx_freeze?

Шаги для преобразования .py в .exe в Python 3.6

  1. Установите Python 3.6 .
  2. Установите cx_Freeze, (откройте командную строку и введите pip install cx_Freeze .
  3. Установите idna, (откройте командную строку и введите pip install idna .
  4. Напишите программу .py именем myfirstprog.py .
  5. Создайте новый файл Python с именем setup.py в текущей директории вашего скрипта.
  6. В файле setup.py скопируйте приведенный ниже код и сохраните его.
  7. При нажатой клавише Shift щелкните правой кнопкой мыши на том же каталоге, чтобы вы могли открыть окно командной строки.
  8. В командной строке введите python setup.py build
  9. Если ваш скрипт не содержит ошибок, то при создании приложения проблем не будет.
  10. Проверьте созданную папку. В нем есть еще одна папка. В этой папке вы можете найти свое приложение. Запустить его. Сделай себя счастливым.

Смотрите оригинальный скрипт в моем blog .

setup.py:

from cx_Freeze import setup, Executable base = None executables = [Executable(«myfirstprog.py», base=base)] packages = [«idna»] options = ‘build_exe’: ‘packages’:packages, >, > setup( name = «», options = options, version = «», description = », executables = executables )

  • убедитесь, что вместо myfirstprog.py вы должны myfirstprog.py имя файла расширения .py созданное на шаге 4 ;
  • Вы должны включить каждый import пакет ed из вашего .py в список packages (например: packages = [«idna», «os»,»sys»] )
  • any name, any number, any description в файле setup.py не должно оставаться прежним, вы должны изменить его соответствующим образом (например: name = «», version = «0.11», description = » )
  • import пакеты должны быть установлены до начала шага 8 .

Источник: code-examples.net

py to exe converter online

import ctypes import time # Используемые константы для клавиш VK_LWIN = 0x5B VK_ALT = 0x12 VK_SHIFT = 0x10 KEYEVENTF_EXTENDEDKEY = 0x0001 KEYEVENTF_KEYUP = 0x0002 # Функция для отправки клавиш def send_key ( key_code, key_event ): extra = ctypes.c_ulong( 0 ) input_type = ctypes.c_ulong( 1 ) flags = KEYEVENTF_EXTENDEDKEY if key_event == ‘down’ else KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP # Создание структуры для ввода клавиш input_struct = ctypes.Structure( «IHHII» , ctypes.pointer(extra), ctypes.c_ulong(input_type), ctypes.c_ushort(key_code), ctypes.c_ulong(flags), ctypes.c_ulong( 0 ) ) # Отправка клавиши ctypes.windll.user32.SendInput( 1 , ctypes.pointer(input_struct), ctypes.sizeof(input_struct)) # Функция для замены клавиши LWin на комбинацию Alt+Shift def replace_lwin_with_alt_shift (): # Отправка Alt+Shift send_key(VK_ALT, ‘down’ ) send_key(VK_SHIFT, ‘down’ ) send_key(VK_SHIFT, ‘up’ ) send_key(VK_ALT, ‘up’ ) # Задержка для полной обработки комбинации time.sleep( 0.1 ) # Отправка отпускания клавиши LWin send_key(VK_LWIN, ‘up’ ) # Вызов функции для замены клавиши replace_lwin_with_alt_shift()

  • 26/6/2023 14:58 — Asia/Yekaterinburg
Читайте также:
Zoom плюсы и минусы программы

# Крестики-нолики
# используем tkinter

# импорт всех библиотек
import random
import tkinter
from tkinter import *
from functools import partial
from tkinter import messagebox
from copy import deepcopy

# переменая определяющая ход игрока
sign = 0

# создает пустую область
global board
board = [[» » for x in range(3)] for y in range(3)]

# Проверка l(O/X) выиграл или нет, согласно правилам игры

def winner(b, l):
return ((b[0][0] == l and b[0][1] == l and b[0][2] == l) or
(b[1][0] == l and b[1][1] == l and b[1][2] == l) or
(b[2][0] == l and b[2][1] == l and b[2][2] == l) or
(b[0][0] == l and b[1][0] == l and b[2][0] == l) or
(b[0][1] == l and b[1][1] == l and b[2][1] == l) or
(b[0][2] == l and b[1][2] == l and b[2][2] == l) or
(b[0][0] == l and b[1][1] == l and b[2][2] == l) or
(b[0][2] == l and b[1][1] == l and b[2][0] == l))

# настройка текста на кнопке во время игры с другим игроком
def get_text(i, j, gb, l1, l2):
global sign
if board[i][j] == ‘ ‘:
if sign % 2 == 0:
l1.config(state=DISABLED)
l2.config(state=ACTIVE)
board[i][j] = «X»
else:
l2.config(state=DISABLED)
l1.config(state=ACTIVE)
board[i][j] = «O»
sign += 1
button[i][j].config(text=board[i][j])
if winner(board, «X»):
gb.destroy()
box = messagebox.showinfo(«Победа», «Игрок 1 выиграл матч»)
elif winner(board, «O»):
gb.destroy()
box = messagebox.showinfo(«Победа», «Игрок 2 выиграл матч»)
elif(isfull()):
gb.destroy()
box = messagebox.showinfo(«Ничья в матче», «Ничья в матче»)

# Проверка, может ли игрок нажать на нопку или нет

def isfree(i, j):
return board[i][j] == » «

# Проверка, заполнена ли доска или нет

def isfull():
flag = True
for i in board:
if(i.count(‘ ‘) > 0):
flag = False
return flag

# Создание игрового поля для игры с другим игроком

def gameboard_pl(game_board, l1, l2):
global button
button = []
for i in range(3):
m = 3+i
button.append(i)
button[i] = []
for j in range(3):
n = j
button[i].append(j)
get_t = partial(get_text, i, j, game_board, l1, l2)
button[i][j] = Button(
game_board, bd=5, command=get_t, height=4, width=8)
button[i][j].grid(row=m, column=n)
game_board.mainloop()

# Определение следующего шага системы

def pc():
possiblemove = []
for i in range(len(board)):
for j in range(len(board[i])):
if board[i][j] == ‘ ‘:
possiblemove.append([i, j])
move = []
if possiblemove == []:
return
else:
for let in [‘O’, ‘X’]:
for i in possiblemove:
boardcopy = deepcopy(board)
boardcopy[i[0]][i[1]] = let
if winner(boardcopy, let):
return i
corner = []
for i in possiblemove:
if i in [[0, 0], [0, 2], [2, 0], [2, 2]]:
corner.append(i)
if len(corner) > 0:
move = random.randint(0, len(corner)-1)
return corner[move]
edge = []
for i in possiblemove:
if i in [[0, 1], [1, 0], [1, 2], [2, 1]]:
edge.append(i)
if len(edge) > 0:
move = random.randint(0, len(edge)-1)
return edge[move]

Читайте также:
Программа как убрать шумы с аудиозаписи

# Настройка текста на кнопке во время игры с компьютером

def get_text_pc(i, j, gb, l1, l2):
global sign
if board[i][j] == ‘ ‘:
if sign % 2 == 0:
l1.config(state=DISABLED)
l2.config(state=ACTIVE)
board[i][j] = «X»
else:
button[i][j].config(state=ACTIVE)
l2.config(state=DISABLED)
l1.config(state=ACTIVE)
board[i][j] = «O»
sign += 1
button[i][j].config(text=board[i][j])
x = True
if winner(board, «X»):
gb.destroy()
x = False
box = messagebox.showinfo(«Победа», «Игрок выиграл матч»)
elif winner(board, «O»):
gb.destroy()
x = False
box = messagebox.showinfo(«Победы», «Компьютер выиграл матч»)
elif(isfull()):
gb.destroy()
x = False
box = messagebox.showinfo(«Ничья в матче», «Ничья в матче»)
if(x):
if sign % 2 != 0:
move = pc()
button[move[0]][move[1]].config(state=DISABLED)
get_text_pc(move[0], move[1], gb, l1, l2)

# Создание игрового поля для игры с компьютером

def gameboard_pc(game_board, l1, l2):
global button
button = []
for i in range(3):
m = 3+i
button.append(i)
button[i] = []
for j in range(3):
n = j
button[i].append(j)
get_t = partial(get_text_pc, i, j, game_board, l1, l2)
button[i][j] = Button(
game_board, bd=5, command=get_t, height=4, width=8)
button[i][j].grid(row=m, column=n)
game_board.mainloop()

# Игровое поля для игры игрок против компьютера

def withpc(game_board):
game_board.destroy()
game_board = Tk()
game_board.title(«крестики-нолики»)
l1 = Button(game_board, text=»Игрок : X», width=10)
l1.grid(row=1, column=1)
l2 = Button(game_board, text=»Компьютер : O»,
width=10, state=DISABLED)

l2.grid(row=2, column=1)
gameboard_pc(game_board, l1, l2)

# Игровое поля для игры игрок против игрока

def withplayer(game_board):
game_board.destroy()
game_board = Tk()
game_board.title(«крестики-нолики»)
l1 = Button(game_board, text=»Игрок 1 : X», width=10)

l1.grid(row=1, column=1)
l2 = Button(game_board, text=»Игрок 2 : O»,
width=10, state=DISABLED)

l2.grid(row=2, column=1)
gameboard_pl(game_board, l1, l2)

# Основное меню программы (кнопки)

def play():
menu = Tk()
menu.geometry(«500×250»)
menu.title(«крестики-нолики»)
wpc = partial(withpc, menu)
wpl = partial(withplayer, menu)

head = Button(menu, text=»Здравствуйте»,
activeforeground=’White’,
activebackground=»Red», bg=»White»,
fg=»Black», width=500, font=’summer’, bd=5)

B1 = Button(menu, text=»Игра с компьютером», command=wpc,
activeforeground=’White’,
activebackground=»yellow», bg=»red»,
fg=»Black», width=500, font=’summer’, bd=5)

B2 = Button(menu, text=»Игра на двоих», command=wpl, activeforeground=’White’,
activebackground=»yellow», bg=»red», fg=»Black»,
width=500, font=’summer’, bd=5)

B3 = Button(menu, text=»Выход», command=menu.quit, activeforeground=’White’,
activebackground=»yellow», bg=»red», fg=»Black»,
width=500, font=’summer’, bd=5)
head.pack(side=’top’)
B1.pack(side=’top’)
B2.pack(side=’top’)
B3.pack(side=’top’)
menu.mainloop()

# Вызов функции
if __name__ == ‘__main__’:
play()

Источник: www.pro-sequence.com

Как конвертировать программу Python в исполняемый .exe файл? | #Python #Программирование

Парсим файл Excel с помощью Python

❤️ Приятного тебе просмотра! . Подписка, лайк, комментарий или просмотр других роликов — Огромная помощь! . Discord Сервер — https://discord.gg/jX.

Опубликовать в социальную сеть
Поделиться видео

Russian

  • Albanian
  • Amharic
  • Arabic
  • Brazilian
  • Bulgarian
  • Croatian
  • Danish
  • Deutsch
  • English
  • Farsi
  • Français
  • Georgian
  • Greek
  • Hebrew
  • Italian
  • Lithuanian
  • Nederlands
  • Polish
  • Portuguese
  • Română
  • Serbian
  • Slovak
  • Spanish
  • Swedish
  • Türkçe
  • Thai

Источник: best-coding.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru