在 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