【问题标题】:Upgrade default Python 3.5.3 to Python 3.7.2 on Raspberry Pi 3 Stretch在 Raspberry Pi 3 Stretch 上将默认 Python 3.5.3 升级到 Python 3.7.2
【发布时间】:2019-03-09 06:14:53
【问题描述】:

我想将默认的 Python3(即 Python 3.5.3)升级到 Python 3.7.2。谷歌搜索时,我发现许多网站告诉如何安装最新的 python 3.5 和其他版本,包括 python 3.7.0,但这些网站都没有告诉如何从 python 3.5.3 升级到 python 3.7.2。所以我尝试安装 Python 3.7.2 而不是升级默认的 Python 3.5.3。经过一番搜索,我得到了一份关于如何在 Raspberry Pi 上安装 Python 3.7 的指南。这是网站的链接:https://www.ramoonus.nl/2018/06/30/installing-python-3-7-on-raspberry-pi/。所以我按照这些步骤在我的 Raspberry Pi 3 上成功安装了 Python 3.7.0,并将 python 和 python3 的别名设置为 python3.7.0,现在当我输入 python --versionpython3 --version 时,它给了我 3.7.0。但是现在我遇到了另一个问题,即当我关闭或重新启动我的 Pi 并将其重新打开时,我输入 python --version 它给了我 2.7.13 和 python3 它给了我 3.5.3。所以请帮我解决这个问题。

【问题讨论】:

  • 重启后python3.7是否仍然存在于您的系统中,在/usr/local/opt/下,根据参考链接?
  • 是的,重启后文件夹还在。
  • 在这一步只需添加一个别名就可以了,类似于@Deep 在他的回答中提到的内容

标签: python python-3.x raspberry-pi upgrade


【解决方案1】:
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
tar xzvf Python-3.7.2.tgz
cd Python-3.7.2/
./configure
make -j4
sudo make install

然后简单地做:

echo "alias python3=’/usr/local/opt/python-3.7.2/bin/python3.7′"  >> ~/.profile

希望这项工作

【讨论】:

  • make altinstall,否则你会覆盖你几乎从不想做的系统Python。 docs.python.org/3/using/unix.html#building-python
  • 安装后我可以删除目录'Python-3.7.2'(通过解压存档创建)吗?
  • 如果我得到这个,我应该做 altinstall:DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020
  • @snakecharmerb 我刚刚发表了评论。也许我可以回答我的评论:是的,保留它,因为如果它达到 eol,我系统上的所有内容都将很快达到 eol。所以要么全部保留,要么换一个新系统。
  • @Timo 如果要升级系统 Python,请升级系统(假设是类 Unix 操作系统)。会有系统包依赖于系统Python的版本,所以自行升级很可能会让你的系统无法使用。
【解决方案2】:

太棒了,你和你的 PI 一起玩得很开心!希望能帮到你,还有什么问题可以留言。

在 Linux 中,alias 是您的 shell 中的一个设置,是您用来控制 PI 的程序。但是一旦你离开你的 PI,shell 程序就会关闭,alias 设置也会被丢弃。

要使更改永久生效,您可以将 alias 设置添加到 shell 的启动文件(主目录中的文件 .profile),或者更好地更改链接。

要更改.profile,请准确输入(最好使用复制粘贴):

echo "alias python3=/usr/local/bin/python3.7"  >> ~/.profile

文件.profile在登录时被读取,因此要激活更改,您必须注销并重新登录。

在 Unix 中,链接是指向另一个文件的文件。 /usr/bin/python 通常指向/usr/bin/python2.7/usr/bin/python3 指向/usr/bin/python3.5.3。您可以通过将-l(长期为l)选项添加到ls 来查看链接,例如ls -l /usr/bin/python*。链接的权限设置为lrwxrwxrwx

我会单独保留/usr/bin/python 链接,它由操作系统使用,并且需要安装某些库,而这些库可能未安装在您的新 python 中。

如果您的新 python 是 /usr/local/opt/python-3.7.2/bin/python3.7,您可以通过键入以下命令来更改 python3 链接:

sudo rm /usr/bin/python3
sudo ln -s /usr/local/bin/python3.7 /usr/bin/python3

【讨论】:

  • 我尝试使用 Deep 的说明安装 python 3.7.2 并将该行复制粘贴到 .profile 中,注销并再次登录,当我输入 python3 时,它给了我以下错误:- bash: /usr/bin/python3: 没有这样的文件或目录。我想知道是否有在 Linux 上安装 Python 3.7.2 的安装向导,就像在 Windows 上安装 Python 的安装向导一样。谢谢。
  • 奇才?不,这种情况不是巫师所涵盖的。巫师只在他们预见到的情况下提供帮助。您几乎完成了,只有 .profile 中的别名指向错误的文件。我的坏,可能。我将在我自己的 Pi 上安装 P3.7.2,看看 python3.7 文件在哪里。
  • Anant,按照 Deep 的说明,我得到了一个位于 /usr/local/bin/python3.7 中的 Python,我相应地编辑了我的说明。您可以通过简单地运行/usr/local/bin/python3.7 来测试这对您来说是否相同。如果这让你进入 python3.7.2,你可以重复说明。 .profile 中的额外行无关紧要。您可能希望在例如打开文件gedit 并删除它以获得额外的彻底性;-)
  • 谢谢 Evert,我按照您的指示进行操作,现在我的默认 Python 3 是 Python 3.7.2 。谢谢大家。特别感谢 Evert:-)
  • 很高兴,阿南特!我希望你能像 40 年前的我一样迷上编程 ;-) 这是谋生的好方法!
猜你喜欢
  • 2019-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多