LINUX.ORG.RU
ФорумTalks

Понапишут на питонах, а потом возись, чтобы запустить программу

 , ,


1

1

Захотел я использовать программу MC Extractor https://github.com/platomav/MCExtractor для анализа списка CPU в прошивке BIOS и не смог ее заюзать ни в линуксе, ни в wine, ни даже просто в винде - везде пердолинг, чтобы просто запустить программу.

В линуксе в 10-м Debian пердолинг остановился на

Error: MC Extractor crashed, please report the following:

Traceback (most recent call last):
  File "MCE.py", line 1005, in <module>
    mce_hdr(mce_title)
  File "MCE.py", line 919, in mce_hdr
    hdr_pt,hdr_pt_empty = mc_table([], False, 1)
  File "MCE.py", line 884, in mc_table
    pt.set_style(prettytable.UNICODE_LINES)
AttributeError: module 'prettytable' has no attribute 'UNICODE_LINES'

и вообще отсутствии требуемого в Readme модуля pltable, который предлагается ставить pip3 install pltable но в дебиане 10 нет пип3 - он нарушал бы целостность пакетной системы. И модуля pltable в репах тоже нет.

Скачал exe-ник, откомпилированный питонинсталером и заботливо выложенный автором. MCE.exe - запускаю wine MCE.exe и фигак

INTERNAL ERROR: Cannot create temporary directory! 

Гугление показало, что это опять пердолинг сделать, чтобы заработало.

Хрен с вами, запустил нативную винду 7-ку и там уже MCE.exe, так и там «радость» сразу - окошечко с ошибкой и надписями

MCE.exe - Системная ошибка

Запуск программы невозможен, так как на компьютере отсутствует 
api-ms-win-crt-runtime-I1-1-0.dll. Попробуйте переустановить
программу.

Сначала подумал, что наверное, ей мало exe и надо, чтобы я питон или какие-то его части поставил на винду, а я в чистой системе запустил, но оказывается это надо в винду доустановить какое-то обновление для среды Си. Но потом уже продолжу.

Устал уже, настроение испорчено. Потом запущу, если очередного пердолинга после и в этом моменте не будет. Вот такой подход блин.

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

★★★★★

Последнее исправление: praseodim (всего исправлений: 3)
Ответ на: комментарий от wandrien

Но в целом по индустрии качество кода оставляет желать лучшего.

Поправил, не благодарите.

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

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

Ну, в общем случае. Здесь либо ТС ломится вручную запустить проект в обход ПМ, либо в питоне этого в принципе не завезли.

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

В том, что стектрейс прилетел юзеру, виноват только не отловивший ошибку разработчик.

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

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

Динамическая линковка — это полезно, говорили они. Экономия диска, говорили они. Ну вот и развлекайтесь. Надеюсь вас утешит, что благодаря предпринятым усилиям вы сэкономили дисковое пространство стоимостью две-три копейки

Ты забываешь про оперативку. А потом нынье на лоре, мол «система на 4 Гб еле шевелится». Вот получайте ваши CLR/JVM, контейнеры, и прочее счастье, которое жрет оперативу как не в себя, поскольку либо каждая софтина тащит свои собственные зависимости, либо гадит в память уникальным образом, как это делает в том числе CPython, которому даже fork не помогает жрать меньше памяти, поскольку во всех загруженных модулях все равно передергиваются счетчики ссылок и COW страниц уходит вникуда. Проблема с использованием оперативки CPython очень актуальна и весьма нерешаема, вследствие архитектуры (а точнее, ее отсутствия) интерпретатора, являющегося одновременно единственной спецификацией языка.

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

В глубине как раз всё нормально. Это тебе не C/C++ где всё нормально работает на UB, а у кого-то всё же UB случается.

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

Ты давно minecraft видел? Проверь, сколько там файликов и всё ли там на жабе. А хелловордлы да одним файликом легко.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от ugoday

Мы сэкономили необходимость обновления (а то и пересборки) вообще всего софта, когда обновляется 1 либа

cvs-255 ★★★★★
()
Ответ на: комментарий от X512

Понапишут говнокод, а потом виноватым оказывается python

Ну а кто? Без питона большинство программистов на нём нашли бы себе более подходящее занятие. Это касается и много другого, но питон самый раскрученный и популярный бейсик.

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

Да, я буду тебе это рассказывать. Я с npm годами работаю по сорок часов в неделю и УМВР. Ты же в большинстве случаев набрасываешь в development, прекрасно отдавая себе в этом отчёт.

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

Вряд ли на столько чаще, на сколько ты думаешь. На ни разу не питоновском проекте с, мать вашу, RPC-шным API мне регулярно прилетали в ответе стектрейсы. В запущенных случаях такое ещё и отрендеренным в HTML прилетает. А вот на нынешнем несмотря на наличие питона всё ок. И на предыдущим с пыхом, при том, что там созерцание стектрейса, в общем-то, гораздо менее редкое явление, чем могло бы показаться.

Я не совсем уверен, что вывод стектрейса как результата ошибки в работе консольной утилиты – это не норм: в конце концов, так можно более информативно сообщить разработчику о своей проблеме.

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

Да, я буду тебе это рассказывать. Я с npm годами работаю по сорок часов в неделю и УМВР

Вот ты и попался. Что можно делать с npm по 40 часов в неделю? У меня на проекте самый малый интервал обновления версий пакетов — где-то полгода, в остальное время версии пакетов не трогают, потому что иначе потом нужно будет неделю разгребать последствия.

Ты же в большинстве случаев набрасываешь в development, прекрасно отдавая себе в этом отчёт

А ты берешься решать, кто прав, кто виноват, при этом сам звучишь весьма неубедительно — так что еще посмотрим, кто из нас «набросил».

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

И что-то в последнее время я с изделиями на питоне стал сталкиваться с подобным.

«Последнее время» он стал сталкиваться… Тю. Помнится лет 10 наверное назад был такой простенький issue tracker – назывался trac. Для личных нужд – идеальная в своей простоте вещь. Но пока его заставишь работать – всё проклянёшь (там питон с апачем). В итоге ну его нахрен.

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

тоже проблема, как догадываться в каком что пакете, если

нет проблем. на будущее

vitus@vthome:~$ apt-file search pip3
fish-common: /usr/share/fish/completions/pip3.fish
puppet: /usr/lib/ruby/vendor_ruby/puppet/provider/package/pip3.rb
python3-pip: /usr/bin/pip3
python3-pip: /usr/share/man/man1/pip3.1.gz

vtVitus ★★★★★
()

но в дебиане 10 нет пип3 - он нарушал бы целостность пакетной системы

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

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

И не должны. Уж на гнилье-то точно.

slovazap ★★★★★
()

has no attribute 'UNICODE_LINES'

Очевидно, ты пытаешься на python3 запустить что-то, предназначенное для python2. Маловероятно, но, возможно, наоборот.
Но...

в дебиане 10 нет пип3 - он нарушал бы целостность пакетной системы.

Ну так определись, что тебе приоритетнее. А вообще, два питона (последнее время всё больше один) лежат в своих отдельных директориях, и по необходимости тянутся в venv (при большой - в virtualenv).

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 2)
Ответ на: комментарий от slovazap

свежайший софт из гита, да и вообще софт не из родных реп

ну, в слаке это работает. Но по другой причине.

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

Откуда догадаться до .venv/bin/activate ?

Пройти курс питониста на курсере.

Вообще-то, это в любом нормальном «питон за 5 минут hello world таск менеджер» курсе статей есть.

Shadow ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.