Python 3.6.6 到 Ubuntu 16.04.1?

Python 3.6.6 到 Ubuntu 16.04.1?

我正在使用 Ubuntu 16.04.1。我运行了以下命令:

sudo apt-get update
sudo apt-get install python3.6

我将 Python 3.6 从 升级3.6.23.6.5 但 Python3.6.6自 2018-06-27 起可用 我该如何安装它? 如此重要的包不在存储库中是否合理?

这对我很重要,因为3.6.6修复了我在代码中遇到的一个错误。

跑步apt-cache policy python3.6 可以带来:

python3.6:
  Installed: 3.6.5-5~16.04.york1
  Candidate: 3.6.5-5~16.04.york1
  Version table:
 *** 3.6.5-5~16.04.york1 500
        500 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

我还得到:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

使用 python3.6 运行脚本时

注意:我有python与哪个关联python2.7python3与哪个关联python3.5,现在我正在添加python3.6 - 我不想覆盖其他 python 安装。

答案1

乔纳森 PPA您正在使用的版本尚未包含 Python 3.6.6。但是,死蛇 PPA这是在 Ubuntu 上安装非默认 Python 版本的事实标准。

运行以下命令开始使用 deadsnakes PPA:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update

之后您应该能够在 Ubuntu 16.04 上安装 Python 3.6.6。

可选删除 PPA从您的机器中删除“jonathonf”,但这不是必需的。

注意:我有python与哪个关联python2.7python3与哪个关联python3.5,现在我正在添加python3.6- 我不想覆盖其他 python 安装。

链接pythonpython3是系统默认的。使用 PPA 添加的新版本不应改变这些链接,因此它们仍将按照系统预期的方式运行。从 PPA 安装的 Python 版本应可用作python3.6

但据我所见,他们都去了/usr/lib/python3/dist-packages/

这些文件由 deadsnakes PPA 安装:

$ dpkg -L python3.6
/.
/usr
/usr/lib
/usr/lib/python3.6
/usr/lib/python3.6/lib-dynload
/usr/lib/python3
/usr/lib/python3/dist-packages
/usr/lib/python3/dist-packages/README.txt
/usr/bin
/usr/bin/2to3-3.6
/usr/bin/pydoc3.6
/usr/bin/pygettext3.6
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/python3.6
/usr/share/doc
/usr/share/doc/python3.6
/usr/share/doc/python3.6/NEWS.gz
/usr/share/doc/python3.6/README.rst.gz
/usr/share/doc/python3.6/ACKS.gz
/usr/share/doc/python3.6/README.Debian
/usr/share/doc/python3.6/copyright
/usr/share/doc/python3.6/changelog.Debian.gz
/usr/share/applications
/usr/share/applications/python3.6.desktop
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/2to3-3.6.1.gz
/usr/share/man/man1/pydoc3.6.1.gz
/usr/share/man/man1/pysetup3.6.1.gz
/usr/share/man/man1/pdb3.6.1.gz
/usr/share/man/man1/pygettext3.6.1.gz
/usr/share/pixmaps
/usr/share/pixmaps/python3.6.xpm
/usr/bin/pdb3.6
/usr/share/doc/python3.6/changelog.gz

进入/usr/lib/python3/dist-packages目录的唯一内容是README.txt文件。它不会覆盖当前内容。

相关内容