Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 27, 2020 04:19:49

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Распространение программ

py.user.next
Тут одним экзешником, запускаемым из папки, не обойдёшься.
Ну так, получается, это все равно работа установщика? А в чем разница? Идеологическая?

Офлайн

#2 Янв. 27, 2020 07:11:04

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Распространение программ

не ну раз про портабность пошла речь, то может быть стоит посмотреть как это делают с другими программами (т.е. вобще с любыми другими)
например
https://xakep.ru/2011/03/21/54883/
или
https://pcsecrets.ru/soft/programmy-dlya-sozdaniya-portable-prilozhenij.html
есче
https://servis2010.ru/portabelizatsiya/3143-sozdanie-portable-versii-prilozheniya.html

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



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Янв. 27, 2020 07:13:06)

Офлайн

#3 Янв. 27, 2020 08:53:33

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Распространение программ

vanvanov
Ну так, получается, это все равно работа установщика? А в чем разница? Идеологическая?
Так про то и толкуют что нет никакой разницы. Для использования более или менее сложной программы нужен установщик. Насколько он удобен и корректно работает в основном зависит от разработчика установщика. Для питона под винду установщик в виде командного или powershell файла будет содержать 2-5 строк Проверить наличие питона если нет установить, обновить окружение, запустить pip. Чтобы такое написать нужно знать только самые самые основы командного языка.

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

Проблема поиска питона установленного незнамо куда отсутствует. Если питон появился в результате УСТАНОВКИ, то он есть в путях, и ОС его найдет. Если у вас по всей системе разбросаны десятки питонов то кто мешает в установщике их все найти ? Вопрос только какой из них вы будете использовать? Надо будет пользователю выбирать. Я думаю никакой сисадм не позволит иметь такой хаос.

По поводу портатисного питона. Я не рекомендую такой путь. Однако очевидно что не требуется генерация cmd файла. Если я правильно вас понял, то сценарий такой, копируем или распаковываем из архива zip/7z/… папку с питоном и скриптом пользователю. Тычем во что-то и запускаем программу. Ну так и делайте то во что тычете с относительными путями к питону. Или вы предполагаете что пользователь будет хаотически перемешивать содержимое папки?

Непонятно где тут необходимость в cx_freeze или другим аналогичным поделкам?



Офлайн

#4 Янв. 27, 2020 08:58:20

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Распространение программ

vanvanov
А в чем разница? Идеологическая?
Открой в винде список установленных программ и там ты увидишь, что их можно удалить. А кто же их удаляет при нажатии на “удалить”? И как эти программы вообще в этот список попали? А попали они в него в результате установки из дистрибутива программы. И удаляются они точно так же - с помощью деустановщика, который обозначил себя для операционной системы с помощью установщика. Это нормальный подход. И при таком подходе совершенно не важно, скрипт через интерпретатор у тебя выполняется или же это экзешник, выполняемый сам по себе. И даже простой пользователь разницы не почувствует, потому что для него твоя программа будет просто ярлыком на рабочем столе или в меню графической оболочки.

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



Отредактировано py.user.next (Янв. 27, 2020 08:59:58)

Офлайн

#5 Янв. 27, 2020 10:17:29

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Распространение программ

vanvanov
Рабочей программы же. Как мне связать ее с переносным Питоном? Создать *.cmd? Но тогда, опять же, надо использовать умный установщик, который этот cmd и создаст (ибо программа может быть распакована куда угодно).
вы серьезно? данунах. вот вам https://fex.net/s/bsy5esk простенький “Hello word” c блекджеком и шлю.. пайтоном и cmd. чтобы запустить нужно распаковать архив, зайти в папочку и запустить run.cmd. никаких путей а PATH прописывать не нужно, никакого умного установщика, распаковать можно куда угодно и оно заработает.


AD0DE412
не ну раз про портабность пошла речь, то может быть стоит посмотреть как это делают с другими программами (т.е. вобще с любыми другими)
например
Нет, это если программа требует какихто записей в реесте, регистрации dll в системе, и тд. тогда да приходиться городить огород с всякими ThinApp. Пайтон изначально абсолютно портабельный(ну почти, более ранние версии ложили dll-ку в systm32 без которой “кина не будет”, но решалось все это копированием dll-ки в папку с python.exe).



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#6 Янв. 27, 2020 10:40:10

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Распространение программ

py.user.next
А попали они в него в результате установки из дистрибутива программы. И удаляются они точно так же - с помощью деустановщика, который обозначил себя для операционной системы с помощью установщика. Это нормальный подход.
Да, но он требует прав админа (кто-то может считать это плюсом). К тому же, а вообще хорошая идея - использовать системный интерпретатор? Или лучше virtualenv?

Офлайн

#7 Янв. 27, 2020 10:48:53

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Распространение программ

PEHDOM
вот вам
А как вы Питон порезали?

Офлайн

#8 Янв. 27, 2020 10:53:39

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Распространение программ

vanvanov
pабочей программы же. Как мне связать ее с переносным Питоном?

 local_python.exe my_program.py

и хоть это в баткник, хоть в ярлык, хоть в VB-скрипт, да хоть и екзешник



Отредактировано FishHook (Янв. 27, 2020 11:09:53)

Офлайн

#9 Янв. 27, 2020 11:37:32

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Распространение программ

FishHook
хоть и екзешник
Не знал о таком, спасибо.

Офлайн

#10 Янв. 27, 2020 12:17:09

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Распространение программ

vanvanov
А как вы Питон порезали?
1. инсталируем, пайтон.
2. копируем папку c спайтоном куданить в temp.
3. копируем python3X.dll из system32(если это старый пайтон, в новых он вроде уже сразу в папке с пайтоном лежит)
4. деинсталируем пайтон.
5. создаем пустую папку.
6. копируем туда из temp python.exe, python3.dll, python3X.dll
7. запускаем, смотрим на отсутсвие чего ругается.
8. копируем то на что ругаеться.
9. GOTO п.7 пока не заработает.
10. PROFIT



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Янв. 27, 2020 12:19:42)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version