LINUX.ORG.RU

Вопрос к разработчикам python

 


1

5

Постоянно сталкиваюсь с проблемой 8 из 10 программ на питоне не запускаются без интима головного мозга с гуглением и установкой зависимосте питона которые капризные как принцесса на горошине,
то ему версия пакета не та, то он дружить не хочет с каким то пакетом и рамсит с ним, быть на одной системе с пакетом которого он не любит не хочет. То вобще ему система ненравится и вызывает дискомфорт и нежелание работать то еще че небуть. Почему юзер френдли не просто отсутсвует, а матом только описать можно.
Впечетление что программы для питона пишутся для разработчиков питона которые могуд разобраться в коде и зависимостях под него.

вот для примера 3 ПО

OpenSnitch (most active)
Fireprompt (empty website, binary .deb package only)
Douane (seems to be dead)

ни одну не смог запустить на ubuntu1~22.04, причина в основном что старые пакеты им надо.



Последнее исправление: Regacar (всего исправлений: 2)

8 из 10 программ на питоне не запускаются без интима головного мозга с гуглением и установкой зависимосте питона

Это нормально для питона.

alex1101
()

питон настолько популярен, что на нём пишут даже макаки и они составляют 80% разработчиков.

в офтопике ещё обилие дистрибутивов python добавляет веселья :-) Питоны и так бывают разных версий, так ещё одновременно из комплекта ide, отдельно поставленный, вместе с кондой, c юпитер, от msys2 и так далее..

MKuznetsov ★★★★★
()

Почиму мне не разработали нормальную программу чтобы удобную и бесплатно даже дебил мог
на строить я фаервол вопрос.

thesis ★★★★★
()

Питонячий деплой это боль. Деплой для большинства языков это боль[1]. venv, pip и pyenv заметно снижают градус боли, но не до нуля. Вообще по идее раз уж разраб даёт прям deb-пакеты, разумно ожидать что он возьмёт этот геморрой на себя

[1] Только Go с Rust-ом хорошие в этом смысле

MrClon ★★★★★
()
Последнее исправление: MrClon (всего исправлений: 1)

Постоянно сталкиваюсь с проблемой 8 из 10 программ на питоне не запускаются без интима головного мозга с гуглением и установкой зависимосте питона которые капризные как принцесса на горошине,

Поздравляю, ты осознал зачем нужна Java, байткод и переносимые библиотеки. С просвящением.

alex0x08 ★★★
()

программы для питона пишутся для разработчиков питона

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

bread
()
Ответ на: комментарий от dvetutnev

Не-а, тут проблема с внешними зависимостями, байткод тут не причем.

А давайте я вам раскрою одну маленькую тайну змеелюбов:

90% питоновских библиотек это на самом деле биндинги для нативных.

Конечно байткод тут не причем, тут падают сразу нативные либы.

alex0x08 ★★★
()

Постоянно сталкиваюсь с проблемой 8 из 10 программ на питоне не запускаются без интима головного мозга с гуглением и установкой зависимосте питона которые капризные как принцесса на горошине,
то ему версия пакета не та, то он дружить не хочет с каким то пакетом и рамсит с ним, быть на одной системе с пакетом которого он не любит не хочет

Типивой питонодеплой. У меня больше всего горит жопа с того, что кто-то на полном серьезе считает, что Гвидо — талантливый архитектор, а не посредственный исполнитель, отказывающийся признавать свои ошибки и исправляться, который абсолютно случайно примазался к раскрученному гуглом проекту, якобы «это всё я сделал», хотя «он» сделал только первые-вторые версии, которыми во всём мире пользовалось человек тридцать хакеров и академиков. У меня был опыт работы с челами, имеющими различную степень выраженности подобного поведения, главный симптом — он знает решение до того, как узнал задачу.

Факт, который менее заметен простому разработчику — это что питоновый distutils представляет собой годами выдержанную лапшу, принцип функционирования которой НЕ ЗНАЕТ НИКТО. Просто чтобы написать минимальное расширение для этого чуда мне пришлось посидеть пару дней в чтении сорцов. Опять же, разработчик distutils создал готовое решение не совсем понимая задачи — но теперь у нас есть «готовое» решение, которое настолько мерзотно, что породило кучу альтернативных систем пакетирования.

И да, я даже не пытаюсь запустить рандомную питонопрогу с гитхаба, потому что знаю, что она не будет работать.

byko3y ★★★★
()
Ответ на: комментарий от MKuznetsov

питон настолько популярен, что на нём пишут даже макаки и они составляют 80% разработчиков

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

byko3y ★★★★
()
Ответ на: комментарий от ac130kz

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

Ага, у JS вот совсем беда с совместимостью и переносимостью.

byko3y ★★★★
()
Ответ на: комментарий от MrClon

Деплой для большинства языков это боль
Только Go с Rust-ом хорошие в этом смысле

Что понимается под большинством языков? «Большинство» языков с компиляцией в бинарь умеют создавать самостоятельное приложение для некой ОС, не требующее кроме ОС никаких зависимостей. В их число входят компилируемые Go и Rust, но не только они.

byko3y ★★★★
()
Ответ на: комментарий от alex0x08

Поздравляю, ты осознал зачем нужна Java, байткод и переносимые библиотеки. С просвящением

У тебя опечатка в «не нужна Java». Так-то иные C++ библиотеки приятно переносить меж совершенно разных платформ.

byko3y ★★★★
()
Ответ на: комментарий от alex0x08

90% питоновских библиотек это на самом деле биндинги для нативных

Примерно 70% питоновских библиотек — это вообще-то костыли над крайне низкой скоростью выполнения питонового кода. То есть, нативные функции есть возможность вызывать из голого питона, без единой строчки сишного кода (через ctypes), но получается настолько медленно, что приходится переписывать на Си весь слой начиная от вызова нативной функции и кончая интерфейсом какого-нибудь итератора включительно, который уже будет дергать пользователь (итератор находится на hot path, потому что много раз вызывается).

Самое дебильное то, что написание расширений на Си фактически блокирует любые разработки по JIT оптимизации питона. Мне смишно по этому поводу слышать заявление от очередного круга наперсточников, собравшихся вокруг Гвидо, что они собираются ускорить питон в десять раз — не потому, что это невозможно, а потому, что для этого придется создать новый язык и переписать все библиотеки.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

«Большинство» языков с компиляцией в бинарь умеют создавать самостоятельное приложение для некой ОС, не требующее кроме ОС никаких зависимостей

Ага, и боль происходит на моменте компилирования. А компилировать зачастую таки-приходится, потому что разрабы задалбываются собирать свою софтину под 100500 дистров

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Ага, и боль происходит на моменте компилирования. А компилировать зачастую таки-приходится, потому что разрабы задалбываются собирать свою софтину под 100500 дистров

Для линя уже давно неактуально с появлением стабильного ABI ядра. Ну а однократная боль разработчика, компилирующего софт — это не то же самое, что боль тысяч пользователей, пользующихся им.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

В пыхтоне тоже можно опокетить venv и нужный cpython. Но пользователям всё-равно обычно приходится колупаться с venv самому, и компилять сишечку

MrClon ★★★★★
()
Ответ на: комментарий от alex0x08

90% питоновских библиотек это на самом деле биндинги для нативных.

Ну да. Это и есть про управление зависимостями. От того, что они не на питоне написаны зависимостями они быть не перестают.

Но соглашусь, у питона регулярно с этим проблемы вылезают. В мире C++ и Conan таких проблем заметно меньше, хотя и там и там про сборку нативного кода под конкретную платформу.

dvetutnev
()
Ответ на: комментарий от byko3y

У тебя опечатка в «не нужна Java».

Дорогие ребята и девчата, давайте каждый раз прежде чем написать что «Х не нужно» вы будете вспоминать город Барнаул, Алтайский край.

Вы не являетесь целевой аудиторией крупных проектов в ИТ-индустрии, тем более мировой. Абсолютно никакие языки или фреймворки не пишутся для вас, из расчета что вы лично ими будете пользоваться и тем более (о ужас) - за них платить.

Вы зрители, не более того. Кушайте что дают и аплодируйте, такая ваша доля.

alex0x08 ★★★
()
Ответ на: комментарий от dvetutnev

От того, что они не на питоне написаны зависимостями они быть не перестают.

Зато немедленно превращаются в проблему, уровня необходимости хотя-бы базовых знаний о Cи и C++ ради сборки и починки таких модулей.

Поэтому более-менее опытный змеелюб обязательно знает еще и Си (только скрывает от всех почему).

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Вы не являетесь целевой аудиторией крупных проектов в ИТ-индустрии, тем более мировой. Абсолютно никакие языки или фреймворки не пишутся для вас, из расчета что вы лично ими будете пользоваться и тем более (о ужас) - за них платить

А давайте не забывать, что если вы не можете создавать летающих самолетов и даже покупать готовые, то это не повод поклоняться им и лепить из самолетов подобия. Нужно смириться с тем, что придется ездить на лошадях, и сконцентрироваться на производстве телег. «Проверенные решения/методы» не подходят для реального сектора в Барнауле, потому что у них не только отсутствуют лишние миллионы долларов для подражания «лидерам рынка», но также нет лишних 20 серверов для развертывания современной прогрессивной инфраструктуры.

На западе культура программирования ориентирована строго на распил бюджета (за очень редкими исключениями), и потому ей нельзя подражать, если пилить нечего.

byko3y ★★★★
()
Ответ на: комментарий от Aber

Вот таких комментариев тут сильно не хватало. Где пропадал?

Где «тут» и что значит «где пропадал?». Будто я сюда на работу хожу. Не всё так просто в моем хохлостане: работа, переезды, а на фоне этого продолжаю заниматься спортом и посещать психотерапевта.

byko3y ★★★★
()
Ответ на: комментарий от router

Ты ещё node.js не видел

А что там? Обычно делаешь npm install и всё работает. Для питона уже тут насоветовали «venv, pip и pyenv» и это ещё не полный список тренажёров для приседаний с отягощением.

no-such-file ★★★★★
()
Ответ на: комментарий от byko3y

На западе культура программирования ориентирована строго на распил бюджета (за очень редкими исключениями), и потому ей нельзя подражать, если пилить нечего.

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

alex0x08 ★★★
()
Ответ на: комментарий от no-such-file

Обычно там десятки и сотни зависимостей. А npm install поможет, если само приложение ещё поддерживается. А если нет, много нетрадиционного секса тебе обеспечено

С точки зрения админа, сложно найти что-то хуже ноды

router ★★★★★
()

Это ты ещё не собирал под чем-то типа федоры на C то, что автоматизировано с помощью стабильной версии autotools и написано для стабильного gcc.

Слава богу, autotools мёртв.

Shadow ★★★★★
()