LINUX.ORG.RU
решено ФорумAdmin

[ALT линукс] [сизиф] поломан питон2

 , ,


0

1

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

обновил с 10.2 Сервер до Сизифа через epm, и вроде всё норм, но что-то не так с питоном. попытка запустить кое-какой софт приводит вот к чему:

  File "/var/www/itwebinstall/utils/app-configure.sh", line 17, in <module>  
    import copy  
ImportError: No module named copy

ну это ладно, софт специфичесеский, может поэтому. но, даже попытка просто посмотреть список установленных модулей вот что выдаёт:

Traceback (most recent call last):  
  File "<string>", line 1, in <module>  
  File "/usr/lib64/python2.7/site.py", line 449, in __call__  
    import pydoc  
ImportError: No module named pydoc  

что за чертовщина?.. попытки нагуглить решение приводят только к печали

UPD: нужен именно python2.7 и он установлен. проблема точно известна и она заключается в том, что в Сизифе поломана эта версия, потому что большая часть базовых питоновских модулей была вырезана
как бы вы действовали в этом случае, если бы вам понадобилось запустить софт? у меня есть идея попробовать развернуть питоновский набор 2.7 standalone вариантом со всеми необходимыми модулями, или же переделать под python3

UPD2: подсказали с решением, нужно доустановить модули самому

У них там python-modules отдельным пакетом идёт, тебе надо его доустановить. sudo apt-get install python-modules

Перемещено hobbit из general

★★★

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

попытка запустить кое-какой софт приводит вот к чему

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

ya-betmen ★★★★★
()

Для начала определитесь, софтине нужен python2 или python3?

Потом проверяем, установлен ли нужный питончик (я думаю что 2.7 нужен и он не установлен). Потом в софтине проверяем шебанги (если есть) всякие /usr/bin/env python, надо поменять на путь к нужному питончику

irton ★★★★★
()

обновил с 10.2 Сервер до Сизифа

Мне казалось, Сизиф у них что-то типа нестабильной ветки для тестирования.

anonymous
()
Ответ на: комментарий от irton

Потом в софтине проверяем шебанги (если есть) всякие /usr/bin/env python, надо поменять на путь к нужному питончику

Если !#/usr/bin/env python, то достаточно запускать с правильным PATH. В общем случае - virtualenv.

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

Придуман докер был совсем не для этого, а для развёртывания приложений в облаке (вместо VM). А «недопрограмульки», которые разводят бардак, используют именно так - чтобы сделать свой бардак хоть как-то переносимым.

annulen ★★★★★
()

UPD: нужен именно python2.7 и он установлен. проблема точно известна и она заключается в том, что в Сизифе поломана эта версия, потому что большая часть базовых питоновских модулей была вырезана

как бы вы действовали в этом случае, если бы вам понадобилось запустить софт? у меня есть идея попробовать развернуть питоновский набор 2.7 standalone вариантом со всеми необходимыми модулями, или же переделать под python3. не знаю, с чего начинать первым, не сталкивался ранее с такими запущенными случаями

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

как бы вы действовали в этом случае, если бы вам понадобилось запустить софт?

Тут на лоре уже один чел выступал по этому поводу. Он считает, что пайтон следует запускать только в контейнерах исключительно из-за вышеописанных проблем. Искать лень. Такие дела.

u5er ★★
()

1 Докер 2 собрать питон 2

Но я бы использовал докер

Да, если программно, то переписать программу под питон 3 вообще цимес. Но не факт, что разумный.

usermod
()

как бы вы действовали в этом случае

Поставил бы анаконду, создал новое окружение, воткнул туда питон 2.7, установил все требуемое программе из requirements.txt или того что увидел в from xxx import yyy и запустил.

Obezyan
()
Ответ на: комментарий от guyvernk

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

Очередной смузихлеб который тащит докер туда где ему не место просто потому что дупля не отбивает как подобные вещи в питоне делаются грамотно (conda).

Obezyan
()

обновил с 10.2 Сервер до Сизифа

Не стоит так делать, раз уже есть p11. Но, в плане питона 2, дело не в этом.

[ALT линукс] [сизиф] поломан питон2

В общем-то питон2 всё. Он просто чудом ещё не вынесен из Сизифа по причине остаточных зависимостей. Пакеты с зависимостью на питон 2 не собираются по причине административной блокировки. Собственно даже в p11 на него не стоит ориентироваться.

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

Учитывая, что python2, это легаси уже, только контейнер собрать. Можно на том же p10… Раз там работало.

FROM alt:p10

Или перекатывать на python3, если условный podman/docker религия не позволяет.

egzakharovich
()
Ответ на: комментарий от Obezyan

гуглите что такое Anaconda

Чувак, я тебя не понимаю. Почему васян-дистрибутив python от датасатанистов ты считаешь истинно правильным подходом? Тем более разработчики Anaconda никакого отношения к разработчикам python не имеют.

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

Чувак, я тебя не понимаю. Почему васян-дистрибутив python от датасатанистов ты считаешь истинно правильным подходом?

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

Тем более разработчики Anaconda никакого отношения к разработчикам python не имеют.

Какой-то жидкий аргумент. Как будто те кто опакечивают питон в свои дистрибутивы имеют отношение к его разработчикам.

Тем более что Conda давно превратилась в отраслевой стандарт изоляций окружений для разных версий python и R.

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

засирать корневую систему кишками питона, версия которого не поддерживается уже 4 года

ну у python’а вообще херово с этим - когда его проектировали, совершенно не подумали как потом копировать и распростанять написанное. Даже у той же nodejs все модули живут в каталоге с приложением и можно спокойно копировать этот каталог, не думая о зависимостях.

Да, потом они опомнились и придумали venv, но там вылезли другие косяки (одни из них как раз твоя anaconda решает)

Тем более что Conda давно превратилась в отраслевой стандарт изоляций окружений для разных версий python и R.

Что-то я не вижу этот «отраслевой стандарт» в своем дистрибутиве (ubuntu). Почему?

для запуска одной программы это мужеложство.

Вот да, ставить anaconda в систему ради одной программы - это как раз оно.

Docker тут куда логичнее использовать.

adn ★★★★
()