在 openSUSE 上安装最新的 Python

Posted

技术标签:

【中文标题】在 openSUSE 上安装最新的 Python【英文标题】:Installing newest Python on openSUSE 【发布时间】:2013-09-18 14:36:39 【问题描述】:

我使用 Zypper 包管理器在 openSUSE 系统(参见下面的版本)上安装了 Python。这给了我 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

【问题讨论】:

【参考方案1】:

您可以添加 devel:languages:python:Factory 存储库或使用 1 单击安装 和 Python 3.3.2 版本表单 here(例如来自上述存储库)。 (显示其他版本->openSUSE 12.2->显示不稳定的包->1点击安装)

要仅与 zypper 一起使用(无 GUI),您可以按如下方式添加 repo:

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

然后,要使用来自该 repo 的包,您应该为 repo 赋予更高的优先级(在这种情况下,更高的优先级意味着更低的数字 0=high,100=low)。要知道 repo id,请使用 zypper lr 并在输出中搜索 repo 编号。然后使用以下命令更改优先级:

 sudo zypper mr -p priority repo_number

你可以使用例如如果您的其他存储库的标准优先级为 99,则优先级为 50。 然后使用zypper update python3更新python。

【讨论】:

添加存储库的zypper addrepo ... 命令是什么? 我应该提一下,我只有 ssh 访问机器,没有 GUI。 将命令添加到答案中(我主要不使用 zypper,但我已经尝试过上述方法,所以我很确定它是正确的 :)。 我已经添加了存储库,但下一步是什么? zypper update python3 表示软件包是最新的 (= 3.2)。 您可能需要更改 repo 的优先级。我将代码添加到答案中。【参考方案2】:

您可以使用 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

【讨论】:

以上是关于在 openSUSE 上安装最新的 Python的主要内容,如果未能解决你的问题,请参考以下文章

如何在 openSUSE 上安装 Pythons MySQLdb 模块?

在 openSuSE 中使用带有 python3 的 virtualenv

在 Opensuse 飞跃上安装 python 3.5

在 OpenSUSE 上安装网络服务器

OpenSuse - 无法安装 Rails:在介质上找不到文件

尝试在 openSUSE 上安装 pip 时出错