web-dev-qa-db-ja.com

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.2から3.6.5にアップグレードしましたが、Python 3.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を使用してスクリプトを実行する場合

注:python2.7に関連付けられているpythonpython3に関連付けられているpython3.5があり、現在python3.6を追加しています-上書きしたくない他のpythonインストール。

2
Programmer120

jonathonf PPA 使用しているPython 3.6.6はまだ含まれていません。ただし、Ubuntuにデフォルト以外のPythonバージョンをインストールするための事実上の標準である deadsnakes PPA があります。

次のコマンドを実行して、deadsnakes PPAの使用を開始します。

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

その後、Ubuntu 16.04にPython 3.6.6をインストールできるはずです。

オプションで PPAを削除 “ jonathonf”をマシンから削除しますが、これは必要ではありません。

注:python2.7に関連付けられているpythonpython3に関連付けられている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ファイルです。現在のコンテンツは上書きされません。

3
Melebius