LINUX.ORG.RU

Arch Linux перешел на Python 3

 ,


0

1

В Arch Linux произошло довольно масштабное, показательное изменение — теперь /usr/bin/python указывает на python3, а любые программы, требующие python2 — на /usr/bin/python2.
Все пакеты, связанные с этим, были изменены. Также масса пакетов из AUR уже исправлена.

Напомню, что Python 2.7 планируется быть последним крупным релизом в 2.x ветке.

Подробнее, из блога одного из разработчиков

>>> Подробности



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

Ответ на: комментарий от PolarFox

> линуксоиды тратят своё время хрен знает на что

Нет чтобы реестр почистить, винду переустановить или устранить фрагментацию диска цэ форматированием. Дикие люди. Дети антарктических гор.

доставляет удовольствие.

Не завидуй, это вредно для печени.

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

> Из дырок настоящую опасность представляют собой только remote уязвимости.

И как ты их закрывать будешь?

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

> Нет чтобы реестр почистить, винду переустановить или устранить фрагментацию диска цэ форматированием. Дикие люди. Дети антарктических гор.

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

устранить фрагментацию диска цэ форматированием

А под ext4 таки уже есть дефрагментатор кроме cp?

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

Гибкость... как много в этом звуке...)))

> Щупал я Арч. У меня сразу после свежей инсталляции он глючил страшно. Падали приложения, сегфолтились утилиты.

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

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

> И как ты их закрывать будешь?

И вот именно здесь и выглядит привлекательной идея мини-репозиториев в стиле убунтовских PPA. При установке проприетарного софта с согласия пользователя должен добавляться источник обновлений, в который ось будет сама заглядывать и предлагать обновление.

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

а как еще реализовать это в венде ?
только через реестр по ассоциациям к расширению,

shebang не поддерживается, равно как и binfmt-misc/magic, с расширенными аттрибутами (OS/2 HPFS EA , я правда не знаю можно ли там это сделать на самом деле, но метаданных там в ЕА очень много было) тоже в венде это не реализовали,
только сопоставлять

открывать файлы с расширением .py с помощью c:\python2.5\python.exe


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

> Таким занимаются только те

А у остальных нету ни реестра, ни троянов, ни вирусов, есть apt или даже emerge. etc,etc,etc.

А под ext4 таки уже есть

как только фрагментатор ext4 в ядро примут, так сразу и дефрагментатор появится.

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

> в стиле убунтовских PPA.

Бгг. Комерчесская ось тщится украсть идею, реализованную в линуксе стопицот лет назад. Красноглазые гентушники трепещут от мощи интерпрайза.

Вообще, абзац идея --- сделать мегазоопарт дистрибутивов репозитариев и систем сборки, водрузить это на одну машину и со всей этой фигнёй попытатсья взлететь.

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

> А у остальных нету ни реестра, ни троянов, ни вирусов, есть apt или даже emerge. etc,etc,etc.

Внезапно под виндой нет ни вирусов, ни троянов, ни проблем с реестром, если не ставить сотню всякого говна. Для того чтобы вирусов не было совсем, нужно установить что-нибудь вроде Avast. Ну и не сидеть под рутом. Я уверен, что если в линукс ставить много дерьма мимо пакетного менеджера, то почистить его будет труднее, чем виндовый реестр гламурной кисы, у которой установлено с десяток паков анимированных смайликов 128×128 с адварями в комплекте.

Если вы находили проблемы в Windows, то вы найдёте их и в Linux. Только в Linux их интереснее решать, не так-ли (подмигивающий смайлик)?

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

> а как еще реализовать это в венде ?

Помилуй, мя. Я линукс-то считаю устаревшим говном, а ты про винду спрашиваешь.

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

> Комерчесская ось тщится украсть идею, реализованную в линуксе стопицот лет назад. Красноглазые гентушники трепещут от мощи интерпрайза.

Ну линуксу тоже стоит перенять многое у его конкурентов.

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

> Внезапно под виндой нет ни вирусов, ни троянов, ни проблем с реестром,

Воспитательница в детском саду говорит детям:

- В Советском Союзе каждый сытно ест и красиво одевается. В Советском Союзе люди живут в прекрасных квартирах. У всех детей в Советском Союзе много красивых игрушек...

Вовочка ревёт: - Хочу, хочу, хочу в Советский Союз!

если не ставить сотню всякого говна.

Перспективная система для домохозяек. Она даже работает! Если домохозяйка обладает дисциплиной мышления даосского монаха и знаниями системного администратора.

для того чтобы вирусов не было совсем, нужно установить что-нибудь вроде linux

исправил досадную опечатку.

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

МайкрософтВиндовз --- система для истинных ценителей связывания, подчинения, дисциплины и унижений.

Я уверен, что если в линукс ставить много дерьма мимо пакетного менеджера

Я всё понял. Ты просто извращенец.

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

Не-lts релизы убунты основаны на смести sid и experimental. Например в sid сейчас 2.6.32 ядро, в бунте - 2.6.35. На момент релиза в убунте пакеты часто бывают куда новее, чем в арче(и соответственно куда глючнее..)

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

О! Ещё не перевелись по линуксом дурачки, завывающие «на ext* нет дефрагментации!» Я думал, что они от терминальной глупости вымерли году эдак в 2008, ан нет - вполне живой экземпляр. Сбежал из криокамеры, наверное.

anonymous
()

У меня по крону все обновилось, как обычно, я даже не вкурсе был, что питон на питон3 поменяли, заметил, потому что у меня написанный мной скриптик работать перестал - это единственное, что сломалось )

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

на работе:

на основном рабочем месте --- дебиан;

экспериментальной установкой, с которой я работаю, управляет тонкий клиент с виндой (тупо под винду написана управяющая прога);

дома --- генту.

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

Линуксоиды думают, что о человеке можно судить по используемой им ОС.

на основном рабочем месте --- дебиан;

Дебианщики обычно не отличаются резкостью суждений, странно.

дома --- генту.

Опять же. Все гентушники с которыми я общался в большинстве своём были весьма приличными людьми (подмигивающий смайлик).

А я уж было подумал, что у вас арч.

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

> о человеке можно судить по используемой им ОС.

можно подумать, это не так

Дебианщики обычно не отличаются резкостью суждений, странно.

Я сейчас дома.

А я уж было подумал, что у вас арч.

было такое в порядке эксперимента. Не выдержал напора глюков после обновлений. Я слабак.

ugoday ★★★★★
()

Хе хе :
Python 3.2 alpha 3 was released on October 9th, 2010.

Python 3.2 is a continuation of the efforts to improve and stabilize the Python 3.x line. Since the final release of Python 2.7, the 2.x line will only receive bugfixes, and new features are developed for 3.x only.

а чейнжлог у версии 3.2 довольно страшненький:
http://svn.python.org/projects/python/tags/r32a3/Misc/NEWS

это еще тот глюкодром ...

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



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

>> А разве ребут обязателен для этого?

Нет, конечно, но затронуто было много пакетов, в т.ч. гномешные, поэтому сделал это.

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

>> А я уж было подумал, что у вас арч.

было такое в порядке эксперимента. Не выдержал напора глюков после обновлений. Я слабак.

может ты не слабак, а троль?

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

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

> обновляюсь и не боюсь

«Безумству храбрых поем мы славу!

„Безумство храбрых - вот мудрость жизни! О, смелый Сокол! В бою с врагами истек ты кровью... Но будет время - и капли крови твоей горячей, как искры, вспыхнут во мраке жизни и много смелых сердец зажгут безумной жаждой свободы, света!

„Пускай ты умер!.. Но в песне смелых и сильных духом всегда ты будешь живым примером, призывом гордым к свободе, к свету!

„Безумству храбрых поем мы песню!..“

ugoday ★★★★★
()

обновилось безо всяких проблем... арч уже не тот )=

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

> Ох, а как будто в венде не так же. Кто-то пишет на делфях, кто-то на плюсах, кто-то на точконете и т.д

...но есть одно тонкое отличие: И ВСЁ ЭТО РАБОТАЕТ. :)
Грубо говоря, мир форточек делится на каменный век (win3.1, Win95-98), бронзовый (WinXP,Win2000) и плюшковый (Vista, 7). Если взять только бронзовый, то всё работает можно сказать идеально - я уже лет сто не видел BSOD. Более того - каждая прога относительно независима (разве что на свежую инсталляцию понадобится VC-runtime). Грусть и печаль вижу в глазах пингвофилов.... :]
Но главная мысль всё же в том, что до сих пор в Линуксе бардак с библиотеками - нет той централизованной штуковины, которая бы умно обеспечивала окружение выполнения. Меня задолбали эти «version 3.8.5 not found!» - вот пока этот маразм не поправят, единственный выход - делать статические мегакирпичи - очередное задерживания linuxRIP.

matumba ★★★★★
()

Интересно,а в чем существенное отличие новой версии?Читал о ней на http://linuxi18n.org но так и не разобрался...(

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

> Кстати, где то услышал, что у админа с серверами на генте в количестве >10 штук, становится всё печально, (видимо речь шла о времени)

Конкретнее можно? BINHOST, distcc и pssh же.

ntp
()

==> New package :
extra/python2 2.7-2 (required by farsight2)

Ппц.. это чё, теперь два петона держать?? Пока не пофиксят не буду обновлять!

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

Рассуждения у вас интересные, но на деле не всё так радужно. Поразмышляйте на досуге почему линуксы среднестатичестические с программами занимают 3-4Гб, а винда с программами не укладывается и в 20 Гб.

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

Грусть и печаль наполняет владельцев нетбуков с win7 на борту. Им вторят владельцы ноутов с SSD дисками.

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

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

Вы теперь очень долго будете жить без обновлений, я гарантирую это)

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

пока скорость питона 3 несколько ... ниже ожидаемого. Да и twisted его не поддерживает - уже не перелезешь быстро. Разве что UI оболочки...

dotbg ★★★★
()

sudo pacmans -Syu Ок, всё нормально. Рук не прикладывал, ничего не отвалилось.

sudo pacman -Rsn $(pacman -Qdtq) ...И свежеустновленный python-3.1.2-2 улетел как никому не нужный.

which python which: no python in (/bin:/usr/bin:/sbin:/usr/sbin:/opt/java/bin:/opt/java/jre/bin:/usr/lib/perl5/core_perl/bin)

which python2 /usr/bin/python2

В чём профит? Если всё равно всё на втором осталось.

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

В чём профит? Если всё равно всё на втором осталось.

У арчевских мейнтейнеров теперь самые блестящие яйца на свете.

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

>а как в NixOS?

там идея простая: в /nix/store/ хранятся каталоги «пакета» вида /nix/store/iaiphq48r749yb41shk7pgsn4saa87pn-libxcb-1.6iaiphq48r749yb41shk7pgsn4saa87pn-libxcb-1.6 , в которых хранятся /bin /lib /usr/share и т.п. файлы пакета (как в ebuild .. install) , в ~/.nix-profile/{bin,lib} — симлинки на файлы «пакета». Ещё в /nix/store хранятся ....-libxcb-1.6.{tar.bz2,tar.bz2.drv,.drv} файлы. — тарболл с исходниками или бинарником, рецепт сборки бинарного пакета, рецепт сборки из исходников.
Пакеты ставятся в «профиль по умолчанию» вроде ~/.nix-profile — симлинк на /nix/var/nix/profiles/default , но таких профилей можно наплодить неограниченное количество (примерно соответствуют оверлеям в генте). В один профиль можно ставить несколько версий пакета, но для этого надо только один пометить активным. Или, можно ставить разные версии пакетов в разные профили. Установкой симлинков в профиле занимается пакетный менеджер, nix-env; обновлением «портежда» из оверлея-репозитория — nix-channel (можно в один профиль обновляться из разных «репозиториев», репозиторий — это просто страничка на сайте). Есть continuous integration build farm, Hydra. Собирает из SVN версии пакет, в родном формате nix или в виде rpm/deb/msi/whatever. Установить пакет можно просто скормив nix-install-package; можно скопировать с одной машины на другую со всеми зависимостями «замыкание» nix-copy-closure.
Nix-env по умолчанию качает как настроен channel, по умолчанию бинарный substiture вместо тарбола с исходниками; но может и собирать. Билды абсолютно воспроизводимы, то есть нет настроек вида USE-флагов в генте, но есть странные бинарные пакеты вида linux-kernel-X.XX-nvidia-drivers-Y.YY или в случае хаскепля пакеты ghc-6.12-cabal-X.XX; что-то вроде USE-флагов можно изобразить на языке описания «ебилдов», тьфу, .drv, nix-expressions; но при этом бинарные сборки качаться не будут.
Бинарные сборки или тарболлы с исходниками качает по бинарным дельтам.
Есть rollback «поколений» профилей установленных пакетов и/или конфигов, конфиги генерятся из таких же функциональных рецептов.
Рецепты в целом пишутся проще чем ебилды, потому что можно наплодить много функций для стандартных сред сборки.
Аналогичные USE-флагам в некоторых рецептах прописывают вручную вызовом configure --enable-feature, вах, древность..
Кросскомпиляция работает под Linux (ARM, EABI), FreeBSD, Cygwin, MSVC2005

nix как пакетный менеджер спокойно ставится рядом в ту же генту и не мешает другим пакетным менеджерам. (хотя я видел, как и emerge переносили под MacOS (Gentoo alt prefix), Slackware (emerde), Fedora (был топик на форуме генты, нельзя ставить system, а так всё хорошо)).

Кстати, 2KRoN73: попробуй NixOS «до кучи». Пакетный менеджер оставляет нормальное впечатление, дистр целиком с rollback всего — не пробовал.

Или, Exherbo или Funtoo :)

anonymous
()

как страшно жить

у меня после pacman -Suy не работают коньковые скрипты );
\\ ой, /usr/bin/python2 же - it works

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

>пока лишь небольшая часть линуксойдов

Господь с вами. Третий петон уже давным давно лет лежит во всех репозиториях мейнстримовых дистрибутивов.

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

>> А, вот, например, в inferno, такой проблемы бы просто не возникло. (...)

А в NixOS чо, так невозможно?


принципиально различные реализации — в NixOS (в основном,статически, но некоторая часть вроде OpenGL драйверов — динамически через LD_PRELOAD) и в Plan9/Inferno (личные пространства имён у каждого приложения) или в AmigaOS (логические тома, asssign их в Startup script) или в Common Lisp filepath (тоже логические тома) — в основном, динамически.

Идея с динамической настройкой: для каждого приложения сделать свой логический view с виртуальной ФС, отображающейся на реальную, и запустить приложение. Соответственно, в Plan9 нет симлинков, а аналогичная функциональность достигается «монтированием» bind, mount -o bind в линуксе разных физических путей в один логический namespace приложения. AmigaOS/CL: создаётся виртуальный логический том для одного конкретного приложения, приложение работает с логической ФС, а не физической.
Минусы: нужен какой-то скрипт, который будет задавать метаданные, т.е. правильно расставлять отображения. В принципе, несложно, если есть метаинформация о сборках/завимостях (например, из пакетного менеджера) — но в Plan9/AmigaOS в общем-то, инсталлятор не нужен, пакетный менеджер не нужен, папка с приложением — самодостаточные зависимости.

Идея в NixOS: неявные зависимости — это плохо, поэтому сделаем все зависимости явными, по максимуму. То есть: nix-build собирает из исходников с пустым окружением (переменными окружения), и чётко собранным по рецепту сборки PATH; бинарники собираются с RPATH с жёстко прописанными зависимостями, LD_PRELOAD и прочие ldd хаки отменяются (даже специально «обеспечивают чистоту» для чисто бинарных пакетов, вроде адобовского флеша: бинарный патчер патчит бинарник на нужные зависимости). Правда, в некоторых местах получилось несовсем жёстко прописано: OpenGL дрова, приложения — собираются с дефолтной месой, а через LD_PRELOAD грузится нужный hardware opengl видеокарты.

Пакеты стоят в conent-addressable memory, по ключу-хешу; ключ считается по всей цепочке зависимостей, включая версию конпелятора gcc. glibc, и т.п. Все зависимости прописываются по максимуму статически. В профиле пакетный менеджер расставляет симлинки на /nix/store/....-foo-X.XX/bin. Профили целиком можно атомарно обновлять, откатывать (включая конфиги: конфиг — генерируется из метаданных, зависимостей пакета), ставить параллельно 2 версии (если файлы не накладываются, или делать пакет активным/неактивным, расставляя нужные симлинки), удалять, делать «сборку мусора», копировать со всеми зависимостями, генерировать образ для vmWare (через hydra) и т.п.

Всё остальное — нечистые неявные зависимости, от них стараются избавиться насовсем, или делают хаки вроде LD_PRELOAD, patchelf, и т.п..

Но основная идея «статических» манифестов с зависимостями — что все зависимости можно вычислить заранее, развести/разрулить симлинками, описать на языке nix expressions, до запуска приложения. В итоге, приложение самодостаточно, можно его скопировать через nix-copy-closure со всеми зависимостями на другую машину через ssh и запустить там.

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

>> над пространством имен FS для процесса

/usr/bin/python как бы намекает на ФС, да.


не всё так просто. Пространство имён — логическая ФС, пространства имён можно клонировать, сливать, объединять; /usr/bin/python — физическая ФС. /usr/bin/python в пространстве имён — это логический /usr/bin конкретного приложения (у наших приложений шизофрения и в разных приложениях логический /usr/bin разный, и логические /usr/bin/python — это разные физические /i386/../python2/usr/bin/python или например /x86-64/.../python3/usr/bin/python), он отображается на конкретный физический путь.
Клонируются/наследуются/сливаются пространства имён у подпроцессов вместе с fork-ом.

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

алсо, на заметку. Почему в генте так нельзя сделать, как сделали в арче. Потому что сразу сломается emerge — приложение написано под python2, и не факт, что будет работать под python3. В генте именно для такого разруливания и нужны use-флаги: в профиле стоит python3, USE=python3 sys-apps/portage, или python2, USE=python2 sys-apps/portage. Что-то похожее сделано для glibc: у некоторых пакетов (ядра?) есть USE-флаг, с какой версией libc, gnu glibc, или FreeBSD libc его собирать.
Получаются такие «условные» зависимости: валидная комбинация пакетов и USE-флагов, часть USE-флагов задаётся в профиле portage.
В принципе, если в Nix нет USE-флагов, что-то похожее можно было бы сымитировать по аналогии с виртуальными пакетами или метапакетами: виртуальной логической сущностью, которой на самом деле нет в ФС, но она вычисляется косвенно по другим пакетам, по их «условным зависимостям»

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

>> man mount. Твои представления о Linux устарели на несколько лет.

т.е. я могу в рамках одного процесса сделать mount или bind, которые никак не затронут другие процессы?


чем, по твоему, занимается недавний сплоет для glibc? именно этим, но через фейловые дескрипторы и симлинки. То есть, если ты такой mount сделаешь в procfs конкретного процесса  — да, не затронут.

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

>В inferno нет PATH, вместо этого используется директория /appl. Когда, например, rc получает команду wm/wm это означает запустить файл /appl/wm/wm.dis

Пусть питон2 живёт в /usr/portage/python/python2, а питон3 в /usr/portage/python/python3. Тогда если сделать перед запуском процесса

;bind /usr/portage/pyton/python2 /appl/python


то вызов


; python


обратится к python2. С третьим питоном ситуация аналогична.



остаётся открытым вопрос, откуда я должен догадаться, что приложению нужно — python2 или python3? То есть, откуда эти метаданные-зависимости берутся, особенно, если они неявные (условные, и т.п.) ?

в Nix здесь происходит следующее: /nix/store/многабуков-python-2.6/bin/python, /nix/store/многабуков-python-3/bin/python, «активный» python2 означает, что в ~/.nix-profile/bin/python -> симлинк на python2, но у каждого отдельного приложения при установке могут вычиситься зависимости, т.е., питон2 ему нужен или python3, и корректно проставятся симлинки. В итоге, приложению нужен не просто python , а python2 или python3, или транзитивно по цепочке ...многабукв-python-X/bin/python. То есть, мы сначала статически вычисляем все зависимости, а логические «нечистые» могут и не понадобится, могут быть не прописаны (т.е. python — это python2 или python3?), если нет никаких функциональных нечистот.

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

> но вот я бы хотел обновиться на свежие релизы, иметь возможность собрать что-то своё и заниматься тем, что мне интересно, а не изучать опции ядра, gcc и юз флаги...

я б тоже хотел бы обновиться на свежие релизы, но быть при этом уверенным, что: 1) старый стабильный релиз и -9999 ставятся в отдельные слоты 2) что мои -9999 пакеты не устарели и актуальны. Увы, в генте подобное делается с костылями. Хочется нормально воспроизводимых билдов и чего-то вроде continuous integration вроде Hydra. Хочется уметь описать зависимости на уровне своего собираемого пакета, и не сильно зависить от того, что там собралось emerge-ом.

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