我想更新 Linux 机器上的 Python 版本,但我知道的唯一方法是卸载当前版本并安装新版本。我的系统已经是最新的(我昨天更新了)。我想知道是否有办法从命令行更新特定程序,例如sudo apt-get update <program-name>
。我知道这个命令不存在,但我希望有等效的东西。
答案1
正如其他人已经指出的那样,baresudo apt-get install package
将安装最新的可用版本,并在需要时替换旧版本。
但对于某些软件(例如 Python),情况有所不同。一些主要的、差异很大且不兼容的版本会他们自己的包。例如,Python 2.6,Python 2.7,Python 3.1全部位于 Ubuntu 上的单独软件包中。
尤为重要的是,Ubuntu 的政策之一是广泛使用 Python 编写终端用户软件。因此,事实上,系统是用 Python 编写。目前,代码在 Python 2.6 上运行 — 因此此版本是安装时的默认版本;代码惯于很容易在 Python 2.7 上运行 — 因为存在不兼容性。要将系统切换到 Python 2.7,需要完成一项工作,包括更新和重新测试所有脚本。这并非易事;也就是说,您不能只是将系统“切换”到 Python 2.7 并删除旧版本。
但是。如果你不在乎系统的花哨配置,只需要更新的 Python — 那就没有障碍了。sudo apt-get install python3
勇敢地去为 3.x Python 编写代码吧;只需记住python3
使用#!/usr/bin/env python3
shebang line 启动你的脚本。
更新:我不断看到这个被点赞;请注意这是一个九年前的答案, 事情变了。
下一步要学什么
从超级用户角度(不是 Python 开发人员),我建议学习使用以下东西:
pip
//pip3
—python3 -m pip
这是npm
Python 的。快速提示:尝试pip3 install --user howdoi
(可能需要apt install python3-setuptools python3-pip
一次,才能起作用)。然后例如howdoi --all compile python3 ubuntu
。该
virtualenv
工具。它是 100% 面向开发人员的,但您可能需要使用它(可能在一些包装器下面,例如tox
)来处理人们的源包。Ruby或
Cabalbundler
沙箱可能是熟悉的类似物。该
conda
工具 — — 是一个完全独立的 Python 包存储库和安装程序(想想:PyPi 的分支)。
有巨大的pip
2020 年 Python 生态系统中出现了各种各样的工具。在深入了解之前,至少要让自己熟悉一下。
基本陷阱
对于勇敢但不谨慎的人来说,尝试在 Ubuntu 上手动设置较新的 CPython 时会遇到一些经典的陷阱。
/usr
别管;您可以查看但不能触摸。将其留给dpkg
,以免造成混淆。您可以/usr/local
随意使用全部内容:sudo chown -R `whoami` /usr/local pip3 install --prefix=/usr/local pydf
从源代码编译 CPython在网上有很好的解释;只是不要忘记你的
/usr/local
前缀。这是手动测试 CPython 本身的补丁和/或预发布版本(那些 alpha-、rc- 版本)的最佳方式。要擦除构建的工件,您只需rm -rf /usr/local/*; sudo ldconfig
.查找 PPA也是不错的选择;请记住,PPA 只是其他人的私人构建。寻找运行 CI/CD 的可靠 PPA。
答案2
sudo apt-get install python 3.3.3
这是针对python(3.3.3)的,对于不同的版本应该使用相应的版本号。
答案3
sudo apt-get install python3.6
这会在 Linux 中与 Python 2 一起安装 Python 3。要访问 Python 3,请在打开终端后输入。
python3
答案4
来自我们的姊妹网站:https://askubuntu.com/questions/44122/how-to-upgrade-a-single-package-using-apt-get
每个命令都是通过安装进行更新的,在许多情况下应该可以正常工作,但在特定情况下可能不是您想要的。
如果您只想升级特定的软件包并且仅当它已安装时,请使用以下命令:
sudo apt-get install --only-upgrade packagename