我正在使用 Ubuntu 16.04.1。我运行了以下命令:
sudo apt-get update
sudo apt-get install python3.6
我将 Python 3.6 从 升级3.6.2
到3.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.7
, python3
与哪个关联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.7
,python3
与哪个关联python3.5
,现在我正在添加python3.6
- 我不想覆盖其他 python 安装。
链接python
和python3
是系统默认的。使用 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
文件。它不会覆盖当前内容。