Установка новейшего Python в openSUSE

Я установил Python в систему openSUSE (см. Версию ниже) с помощью диспетчера пакетов Zypper. Это дает мне Python 3.2, но для некоторых пакетов требуется Python 3.3. Обновление с zypper update python3 остается на Python 3.2. Как я могу перейти на 3.3, в идеале используя диспетчер пакетов и повторно используя остальную часть моей рабочей установки Python (пакеты сайта, pip ...)?

openSUSE 12.2 (x86_64)
VERSION = 12.2
CODENAME = Mantis

person clstaudt    schedule 18.09.2013    source источник


Ответы (2)


Вы можете добавить репозиторий devel: languages: python: Factory или используйте Установить в 1 клик и форму версии Python 3.3.2 здесь (например, из репозитория выше).
(Показать другие версии-> openSUSE 12.2-> Показать нестабильные пакеты-> 1 Нажмите «Установить»)

Чтобы использовать его только с zypper (без графического интерфейса), вы можете добавить репо следующим образом:

sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/python:/Factory/openSUSE_12.2/devel:languages:python:Factory.repo

Затем, чтобы использовать пакеты из этого репо, вы должны дать репо более высокий приоритет (в этом случае более высокий приоритет означает меньшее число: 0 = высокий, 100 = низкий). Чтобы узнать идентификатор репо, используйте zypper lr и найдите номер репо в выходных данных. Затем используйте следующую команду, чтобы изменить приоритет:

 sudo zypper mr -p priority repo_number

Вы можете использовать, например, 50 в качестве приоритета, если другие ваши репозитории имеют стандартный приоритет 99.
Затем используйте zypper update python3 для обновления python.

person TobiMarg    schedule 18.09.2013
comment
Какой была бы команда zypper addrepo ... для добавления репозитория? - person clstaudt; 18.09.2013
comment
Я должен упомянуть, что у меня есть только ssh-доступ к машине, без графического интерфейса. - person clstaudt; 18.09.2013
comment
Добавил команду к ответу (я в основном не использую zypper, но я пробовал то, что описано выше, поэтому я уверен, что это правильно :). - person TobiMarg; 18.09.2013
comment
Я добавил репозиторий, но что делать дальше? zypper update python3 говорит, что пакет обновлен (= 3.2). - person clstaudt; 18.09.2013
comment
Вероятно, вам нужно изменить приоритет репо. В ответ добавлю код. - person TobiMarg; 18.09.2013
comment
Вероятно, zypper update python3 скажет (в моем случае) zypper install python3-3.3.2-76.1.x86_64, тогда используйте это. - person TobiMarg; 18.09.2013
comment
Это сработало, но обратите внимание, что все ранее установленные пакеты python будут удалены или повреждены. - person clstaudt; 18.09.2013
comment
Ой. На самом деле я не знаю, почему это происходит (почему у них нет просто python 3.x в качестве зависимости), но вы можете попробовать добавить это http://download.opensuse.org/repositories/devel:/languages:/python3/openSUSE_12.2/devel:languages:python3.repo репо и посмотреть, работает ли оно. - person TobiMarg; 18.09.2013
comment
Со временем версии меняются. Для OpenSuse 15.2 запустите zypper addrepo --repo https://download.opensuse.org/repositories/devel:/languages:/python:/Factory/openSUSE_Leap_15.2/devel:languages:python:Factory.repo. Это позволит установить Python версий 3.8 и 3.9, но это приведет к поломке материала в зависимости от заводской версии Python 3.6. - person Jari Turkia; 23.02.2021

Вы можете следовать приведенным ниже инструкциям, используя pyenv:

# Step 1. Install pyenv

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc

# Step 2. Install missing headers for all the Python modules to be built

sudo zypper install readline-devel sqlite3-devel libbz2-devel

# Step 3. Install the desired Python version

pyenv install 3.6.3

цитата из https://gist.github.com/antivanov/01ed4eac2d7486a170be598b5a0a4ac7

person Zouzias    schedule 25.01.2018