- No python exec wrapped executable found in usr lib python exec
- Неудачный переход c python_targets_python3_7 на python_targets_python3_9
- Заметки дядюшки Раджи
- Об авторе
- Архив блога
- Мой блог смотрят
- 19 сентября 2021
- Как Gentoo Linux в контейнере чинил.
- Python: idle: no python-exec wrapped executable found in /usr/lib/python-exec
- Post a comment Cancel reply
- Recent Comments
- Recent Posts
No python exec wrapped executable found in usr lib python exec
I ran into the same problem when I tried to update @world and found a workaround that I would like to share.
The usual update command:
Код: |
emerge -DNuUva —with-bdeps-y @world |
failed compiling `gobject-introspection` with the error message similar to this:
Цитата: |
no python-exec wrapped executable found in /usr/lib/python-exec |
After playing with the use flags and trying to reinstall different packages including python-exec and python-exec-config I got it. After unmerging dev-python/setuptools and dev-python/setuptools_scm and then re-emerging them I was able to emerge portage!
Код: |
USE=’python_targets_python3_9 -python_targets_python3_6 -python_targets_python3_7 -python_targets_python2_7′ sudo /usr/lib/python-exec/python3.7/emerge —unmerge -a dev-python/setuptools dev-python/setuptools_scm USE=’python_targets_python3_9 -python_targets_python3_6 -python_targets_python3_7 -python_targets_python2_7′ sudo /usr/lib/python-exec/python3.7/emerge -a dev-python/setuptools dev-python/setuptools_scm sudo /usr/lib/python-exec/python3.7/emerge -a portage |
Copyright 2001-2023 Gentoo Foundation, Inc. Designed by Kyle Manna © 2003; Style derived from original subSilver theme. | Hosting by Gossamer Threads Inc. © | Powered by phpBB 2.0.23-gentoo-p11 © 2001, 2002 phpBB Group
Privacy Policy
Неудачный переход c python_targets_python3_7 на python_targets_python3_9
Каюсь, пропустил сообщение о переходе на 3.8 и решил сразу обновиться в 3.9. На команду emerge -auUD @world при отсутствии упоминания python_target в make.conf никаких ошибок или замаскированных пакетов не было (всего обновлялось порядка 500 пакетов за раз), однако, при обновлении qemu выяснилось, что sphinx работает на слишком старой версии python, что вызвало ошибку portage. Теперь при вызове portage (да и других программ) выскакивает ошибка
emerge: no python-exec wrapped executable found in /usr/lib/python-exec.
Я, конечно, начал вызывать программы с помощью команды /usr/lib/python-exec/python3.7/emerge , но проблемы это не решает. Конфликт зависимостей на месте.
При попытке замаскировать qemu получается следующее
sudo /usr/lib/python-exec/python3.7/emerge -auUD @world These are the packages that would be merged, in order: Calculating dependencies. done! . Multiple package instances within a single package slot have been pulled . into the dependency graph, resulting in a slot conflict: dev-lang/perl:0 (dev-lang/perl-5.32.1:0/5.32::gentoo, ebuild scheduled for merge) USE="berkdb gdbm -debug -doc -ithreads -minimal" ABI_X86="(64)" pulled in by (no parents that aren't satisfied by other packages in this slot) (dev-lang/perl-5.30.3:0/5.30::gentoo, installed) USE="berkdb gdbm -debug -doc -ithreads" ABI_X86="(64)" pulled in by dev-lang/perl:0/5.30=[-build(-)] required by (dev-perl/Package-Stash-XS-0.280.0:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" ^^^^^^^^ (and 55 more with the same problem) dev-libs/icu:0 (dev-libs/icu-69.1:0/69.1::gentoo, ebuild scheduled for merge) USE="-debug -doc -examples -static-libs" ABI_X86="32 (64) (-x32)" pulled in by (no parents that aren't satisfied by other packages in this slot) (dev-libs/icu-68.2:0/68.2::gentoo, installed) USE="-debug -doc -examples -static-libs" ABI_X86="32 (64) (-x32)" pulled in by >=dev-libs/icu-67.1:0/68.2= required by (dev-lang/spidermonkey-78.10.1:78/78::gentoo, installed) USE="jit -clang -debug -lto -test" ABI_X86="(64)" ^^^^^^^^ (and 1 more with the same problem) app-text/poppler:0 (app-text/poppler-21.05.0:0/110::gentoo, ebuild scheduled for merge) USE="cairo cxx introspection jpeg jpeg2k lcms nss png qt5 tiff utils -cjk -curl -debug -doc" ABI_X86="(64)" pulled in by (no parents that aren't satisfied by other packages in this slot) (app-text/poppler-21.02.0:0/107::gentoo, installed) USE="cairo cxx introspection jpeg jpeg2k lcms nss png qt5 tiff utils -cjk -curl -debug -doc" ABI_X86="(64)" pulled in by >=app-text/poppler-0.32:0/107=[cxx,jpeg,lcms,tiff,utils] required by (net-print/cups-filters-1.28.7:0/0::gentoo, installed) USE="dbus foomatic jpeg pdf png postscript tiff -ldap -pclm -perl -static-libs -test -zeroconf" ABI_X86="(64)" ^^^^^^^ media-libs/libheif:0 (media-libs/libheif-1.12.0:0/1.12::gentoo, ebuild scheduled for merge) USE="aom threads x265 -gdk-pixbuf -go -libde265 -rav1e -test" ABI_X86="(64) -32 (-x32)" pulled in by (no parents that aren't satisfied by other packages in this slot) (media-libs/libheif-1.11.0:0/1.11::gentoo, installed) USE="aom threads x265 -gdk-pixbuf -go -libde265 -rav1e -test" ABI_X86="(64) -32 (-x32)" pulled in by >=media-libs/libheif-1.3.2:0/1.11= required by (media-gfx/gimp-2.10.22-r2:0/2::gentoo, installed) USE="aalib alsa heif openexr udev (-aqua) -debug -doc -gnome -jpeg2k -mng -postscript -test -unwind -vector-icons -webp -wmf -xpm" ABI_X86="(64)" CPU_FLAGS_X86="mmx sse" ^^^^^^^^ dev-libs/boost:0 (dev-libs/boost-1.76.0-r1:0/1.76.0::gentoo, ebuild scheduled for merge) USE="bzip2 icu nls python threads zlib -context -debug -doc -lzma -mpi (-numpy) -static-libs -tools -zstd" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python3_9 -python3_8" pulled in by (no parents that aren't satisfied by other packages in this slot) (dev-libs/boost-1.75.0:0/1.75.0::gentoo, installed) USE="bzip2 icu nls python threads zlib -context -debug -doc -lzma -mpi (-numpy) -static-libs -tools -zstd" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python3_7 -python3_8 -python3_9" pulled in by dev-libs/boost:0/1.75.0=[nls] required by (games-strategy/vcmi-0.99_p20200509:0/0::localrepo, installed) USE="launcher -editor -erm" ABI_X86="(64)" ^^^^^^^^^^ NOTE: Use the '--verbose-conflicts' option to display parents omitted above It may be possible to solve this problem by using package.mask to prevent one of those packages from being selected. However, it is also possible that conflicting dependencies exist such that they are impossible to satisfy simultaneously. If such a conflict exists in the dependencies of two different packages, then those packages can not be installed simultaneously. You may want to try a larger value of the --backtrack option, such as --backtrack=30, in order to see if that will solve this conflict automatically. For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. . All ebuilds that could satisfy ">=dev-lang/python-exec-2:2/2=[python_targets_python3_7(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-)]" have been masked. . One of the following masked packages is required to complete your request: - dev-lang/python-exec-2.4.8::gentoo (masked by: ~amd64 keyword) - dev-lang/python-exec-2.4.7::gentoo (masked by: ~amd64 keyword) (dependency required by "dev-libs/boost-1.75.0::gentoo" [installed]) (dependency required by "@__auto_slot_operator_replace_installed__" [argument]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
Так вот, вопросы: что делать в такой ситуации? Как дообновляться? —deepclean не делал, может есть возможность откатиться на предыдущие версии?
Заметки дядюшки Раджи
Всякая всячина, которую дядюшка Раджа находит в интернете и хочет поделиться с читателями.
Об авторе
Архив блога
Мой блог смотрят
19 сентября 2021
Как Gentoo Linux в контейнере чинил.
Есть у меня плата Cubietruck на ARM-процессоре. На ней стоит дистрибутив Armbian на основе Debian. Там же запущено несколько nspawn-контейнеров с другими дистрибутива. Одни из них был Gentoo. Всё вместе работало довольно исправно, только пакеты в Gentoo всё же обновляются раньше, чем выходят версии Debian. И вот во время одного из обновлений контейнер сломался и больше запускаться не хотел.
По логам было видно, что всё упало после обновления «sys-libs/glibc» до версии 2.32, которая оказалась совсем не совместима с ядром в хостовой системе. Контейнер у меня был в основном для работы ноды Zeronet и поддержания её в актуальном состоянии, позже я там пробовал держать ноду ipfs. Из-за того, что первое было на Python, а второе на Go, перенести их в другое место труда не составило.
О контейнере я забыл и вспомнил только после выхода Debian 11. В этой версии довольно сильно обновилось ядро. Можно было попробовать оживить контейнер, что я и сделал. Контейнер запустился, и даже получилось туда зайти по ssh. А вот с обновлением там было всё плохо, потому что система как раз и упала в процессе большого обновления, то есть часть пакетом обновилась, а часть осталось старых версий. При этом команда «emerge» выдавала сообщение «no python-exec wrapped executable found in /usr/lib/python-exec». При этом в каталоге » /usr/lib/python-exec/python3.6 » нужные файлы нашлись. Запуск «emerge» из этого каталога вполне работал. Можно было пробовать обновить систему, но это у меня опять не получилось из-за конфликта пакетов. Нужно было обновить «dev-lang/perl», но это обновление почему-то блокировалось установленной версией. Не получалось даже обновить «sys-apps/portage» до актуальной версии.
Когда-то я читал в новостях что-то про необходимость запуска программы «perl-cleaner» при обновлении «dev-lang/perl», но все обновления проходили штатно без вспомогательных действий. Терять уже было нечего, да и у меня уже был чисто спортивный интерес поднять контейнер. Программа отработала, но в самом конце споткнулась из-за невозможности запустить «emerge«, но при этом показал командную строку. Я подставил в начало полученной строки полный путь до программы, процесс обновления «dev-lang/perl» успешно запустился и дошёл до конца.
Теперь у меня в системе была актуальная версия пакет, можно было пробовать сразу запустить полное обновление системы, но почему-то полез обновлять только «dev-lang/python». После обновления команда «emerge» перестала запускаться даже по прямому пути. Похоже, что после установки новой версии интерпретатора старая была удалена. В очередной раз помучив Google, я на каком-то сайте нашёл рекомендацию просто скачать и распаковать архив с «sys-apps/portage» и запустить программу «emerge» из распакованного пакета.
Я нашёл нужный архив на зеркале Яндекс по адресу http://mirror.yandex.ru/gentoo-distfiles/distfiles/. Скачал файл в домашний каталог, там же распаковал и запустил. Программа заработала, ругнувшись на неизвестные ей куски «layman». При этом получилось обновить дерево основного репозитория и запустить обновление. Обновить предстояло 191 пакет. На хиленьком Cubietruck процесс занял больше двух суток. В процессе даже отваливался доступ по ssh, но процесс обновления был запущен внутри screen, а доступ к контейнеру можно было получить, подключившись такой командой:
machinectl login gentoocubie
При этом появлялся обычный запрос имени пользователя и пароля. При таком способе входа странно работал mc, но следить за процессом сборки было можно. Для закрытия сеанса после logout надо было нажать «Ctrl+]]]».
В итоге система успешно обновилась, ssh опять стал пускать в систему, пакет «sys-apps/portage» тоже был актуальной версии.
Python: idle: no python-exec wrapped executable found in /usr/lib/python-exec
IDLE is Python’s Integrated Development and Learning Environment where it allows programmers to easily write Python code. It’s like a shell, you can execute a single statement or create/execute a Python script.
If you see below error message when you try to run IDLE, it’s most likely you are missing tk USE flag for python.
idle: no python-exec wrapped executable found in /usr/lib/python-exec
To check if you are missing the tk USE flag, first check the python version: $ eselect python list Available Python interpreters, in order of preference: [1] python3.8 [2] python3.9 (fallback)
Also, check the system configuration file, /etc/python-exec/python-exec.conf, for python version:
Then, execute emerge with the following flags to see if tk USE flag was enabled originally. In below case, tk is not enabled since it’s -tk . # emerge -pve world | grep -i dev-lang/python-3.8 [ebuild R ] dev-lang/python-3.8.8:3.8::gentoo USE color:#cc0000;font-weight:bold»>-tk -verify-sig -wininst» 0 KiB
Disclaimer:
The information in this site is the result of my researches on the Internet and of my experiences. This information below is solely used for my purpose and may not be suitable for others.
To enable the flag, you need to re-run emerge with the tk flag. # USE=tk emerge -a dev-lang/python:3.8
After successful update, check if it’s enabled by running the same command: # emerge -pve world | grep -i dev-lang/python-3.8 [ebuild R ] dev-lang/python-3.8.8:3.8::gentoo USE color:#cc0000;font-weight:bold»>tk xml -bluetooth -build -examples -hardened (-libressl) -test -verify-sig -wininst» 0 KiB