LINUX.ORG.RU

Как обновить Python до 3-й ветки в Slackware?

 , ,


0

1

Намечается необходимость использовать Python, который в моём любимом дистрибутиве до сих пор 2.7.11. Хочу разведать подводные камни обновления до текущей (3.6.2) версии.

В описании этого пакета на SlackBuilds сказано, что можно просто установить рядом с существующим 2.7.11, и всё будет ок. Действительно так просто — собираю и ставлю как обычный пакет? Как потом bash будет понимать, что я хочу — по python2 scriptname.py или python3 scriptname.py? Команда python scriptname.py продолжит соответствовать python2?

Есть ли в системе что-то (помимо возможного своего творчества, естественно), завязанное на 2.x, или старую ветку можно безболезненно удалить?

★★

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

Просто путь можешь указать в шебанге к своему интерпретатору и будешь запускать как

./scriptname.py

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

/usr/bin/python продолжит ссылаться на python2. Можно руками поменять, конечно. Сам пакет python3 с SBO ссылку не правит.

xaizek ★★★★★
()

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

bvn13 ★★★★★
()

можно просто установить рядом с существующим 2.7.11, и всё будет ок

Да.

Есть ли в системе что-то (помимо возможного своего творчества, естественно), завязанное на 2.x

хз.

или старую ветку можно безболезненно удалить?

А зачем?

ashot ★★★★
()
vodka@vodka-PC:/tmp$ ll /usr/bin/python
lrwxrwxrwx 1 root root 9 янв 24  2017 /usr/bin/python -> python2.7*
vodka@vodka-PC:/tmp$ ll /usr/bin/python2
lrwxrwxrwx 1 root root 9 янв 24  2017 /usr/bin/python2 -> python2.7*
vodka@vodka-PC:/tmp$ ll /usr/bin/python3
lrwxrwxrwx 1 root root 9 янв 20  2017 /usr/bin/python3 -> python3.5*

думаю смысл понятен, python\python2\python3 — это символьные ссылки.

удалить старую версию

не удаляй ни в коем случае, многие стандартные утилиты в Linux написаны на python2 (в твоём дистр. конкретно не знаю, но в других так). И версия эта не старая, просто у python есть две ветки — вторая и третья. Называть вторую «старой» не совсем корректно.

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

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

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

Да, 2.x оставил, спасибо за предупреждение. Пожалуй, я действительно не прав в терминологии, хотя слышал, что end of support для 2.x назначен на 2020, поэтому она медленно, но неуклонно заменяется на 3.x повсюду.

Hasek ★★
() автор топика

Есть ли в системе что-то (помимо возможного своего творчества, естественно), завязанное на 2.x

Давайте спросим у системы, сколько их (результаты будут различаться в зависимости от установленного):

$ ls /usr/lib*/python2.7/site-packages/ | wc -l
150

Из каких они пакетов, можно поспрашивать у slackpkg:
$ /usr/sbin/slackpkg file-search /usr/lib*/python2.7/site-packages/clang

The list below shows the packages that contains "usr/lib64/python2\.7/site-packages/clang" file.

[ Status           ] [ Repository               ] [ Package                                  ]
   installed               slackware64                  llvm-3.8.0-x86_64-2

$ /usr/sbin/slackpkg info llvm

PACKAGE NAME:  llvm-3.8.0-x86_64-2.txz
PACKAGE LOCATION:  ./slackware64/d
PACKAGE SIZE (compressed):  59600 K
PACKAGE SIZE (uncompressed):  333890 K
PACKAGE DESCRIPTION:
llvm: llvm (LLVM compiler toolkit)
llvm:
llvm: Low Level Virtual Machine is a toolkit for the construction of highly
llvm: optimized compilers, optimizers, and runtime environments.
llvm:
llvm: This package also includes the clang frontend for the C family of
llvm: languages:  C, C++, Objective-C, and Objective-C++
llvm:
llvm: Homepage: http://llvm.org/
llvm:

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

Спасибо, познавательно.

Получил от slackpkg приглашение раскомментировать одно из зеркал

bash-4.3$ /usr/sbin/slackpkg file-search /usr/lib*/python2.7/site-packages/clang

This appears to be the first time you have run slackpkg.
Before you install|upgrade|reinstall anything, you need to uncomment
ONE mirror in /etc/slackpkg/mirrors and run:

        # slackpkg update

You can see more information about slackpkg functions in slackpkg manpage.

Я прав, что лучше всего http://taper.alienbase.nl/mirrors/slackware/slackware64-14.2/ из Netherlands? На самом деле удивился, получив это сообщение, потому что кажется, что когда-то я это уже делал, хотя slackpkg не пользуюсь, обхожусь installpkg/removepkg.

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

Строго говоря, slackpkg для этого необязателен, он делает примерно следующее:

$ ( cd /var/log/packages; grep -lR ^usr/lib64/python2.7/site-packages/clang )
llvm-3.8.0-x86_64-2

$ head -n16 /var/log/packages/llvm-*
но, пожалуй, удобнее
$ less /var/log/packages/llvm-*
Если нужно примерно то же и для не установленных в систему пакетов, ищем по загруженным из хранилища MANIFEST.bz2 и PACKAGES.TXT.

Зеркало можно использовать практически любое. На http://slackware.com/... работает автовыбор зеркала, но я ему не доверяю :) Эталонное, но не всегда быстрое, зеркало slackware.osuosl.org, весьма неплохо slackware.uk или bear.alienbase.nl. Можно с оглядкой пользоваться и mirror.yandex.ru — у него хорошая скорость, но частенько оно бывает рассинхронизировано, нужно иметь в виду и быть готовым свериться по одному из более надежных.

PS. slackpkg update выполнять от root. Предварительно стоит однократно выполнить slackpkg update gpg.

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

Про taper.alienbase.nl:

For a year now, I am telling everyone that taper.alienbase.nl has been deprecated in favor of a new server. Please leave taper alone as much as possible and ESPECIALLY do not add it to the configuration file of package tools.

The new server is bear.alienbase.nl - it should be faster than the old one.

FYI, taper still holds the historical Slackware archives (Slackware <= 14.1).

--
Eric Hameleers

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.