#5356と同様の問題ですが、Ubuntuのバージョンが異なります。 #5356で提案された解決策は、このバージョンのUbuntuの問題を解決しません
クリーンバージョンのUbuntuにjonathonfリポジトリからPython3.6をインストールした後、 Pipをインストールしようとしたときに次のエラーが見つかりました
デフォルトで提供されているPythonバージョン(3.5.2)でPipをインストールしようとしても、問題は発生しないことに注意してください。
python3.6 get-pip.py
エラーメッセージ:
Traceback (most recent call last):
File "get-pip.py", line 20649, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/__init__.py", line 42, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/index.py", line 25, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/download.py", line 35, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/locations.py", line 10, in <module>
ImportError: cannot import name 'sysconfig'
Error in sys.excepthook:
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'
Original exception was:
Traceback (most recent call last):
File "get-pip.py", line 20649, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/__init__.py", line 42, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/index.py", line 25, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/download.py", line 35, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/locations.py", line 10, in <module>
ImportError: cannot import name 'sysconfig'
sudo apt-get install zlib1g-dev
(Pythonをコンパイルするために必要)sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
(SSLリクエストを行うためにPipが必要)./configure
make
make install
私の問題の説明を読みたいと思うなら、私がすでにその問題を見たことがわかるでしょう。 そこで提案された解決策は、このバージョンのUbuntuには適用できません。
失礼である必要はありません。 しかし、私にとっては、Pythonをコンパイルすることは解決策ではありません。
そのインポートエラーが原因です。 後で再現してみます。
@jonbesga回避策をありがとう、Python3.6とubuntuのまったく同じバージョンでもこの問題が発生しています...
@Tarliton私はそれが解決策ではないことに同意します。 回避策として名前を変更します。
失礼については申し訳ありませんが、私の号ですでに言及している問題を見るように言ったのは、そもそも私の問題を読まずにコメントを投稿したことを意味します。
@jonbesga私の悪いですが、他の問題で言及されているコマンドを実行しようと言うべきでした。
お気に入り:
python -c "from distutils import sysconfig"
Ubuntu 16.04.2を使用するVMでこれを実行したところ、問題はありませんでした。 そして、インストールされたピップ。
後で16.04.4で試してみます。
16.04.4で確認できます。
python3.6 -c "from distutils import sysconfig"
次のエラーが発生します。
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name 'sysconfig'
Error in sys.excepthook:
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'
Original exception was:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name 'sysconfig'
ppa:jonathonf/python-3.6
からではなくppa:deadsnakes/ppa
からPython 3.6をインストールしようとしましたが、Pipが正しくインストールされています。 なんらかの形で壊れているjonathonfのバージョンのようです。
編集:スタックオーバーフローの回答のいくつかのコメントがjonathonfリポジトリでこの問題に対処していることに気づきました
@tomrunia現在のリンクがベストアンサーを指していないため、リンクをhttps://askubuntu.com/a/310に変更することをお勧めします。
同様のエラーも見られました。
$ sudo python3.6 get-pip.py
Traceback (most recent call last):
File "get-pip.py", line 20061, in <module>
main()
File "get-pip.py", line 194, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip
File "/tmp/tmpxvd4x9zn/pip.zip/pip/__init__.py", line 26, in <module>
File "/tmp/tmpxvd4x9zn/pip.zip/pip/utils/__init__.py", line 23, in <module>
File "/tmp/tmpxvd4x9zn/pip.zip/pip/locations.py", line 9, in <module>
ImportError: cannot import name 'sysconfig'
ただし、 python3-distutils
をインストールすることで、このエラーを回避することができました。
sudo apt-get install python3-distutils
@wakiyamapこれは、Ubuntu 18.04 LTSで#5356で機能するソリューションのようです。 ただし、Ubuntu 16.04.4 LTSでは、そのパッケージの名前が変更されており、問題は解決していません。
@jonbesgaこのバージョンを使用しました。
Ubuntu Xenial(16.04 LTS)(GNU / Linux 4.4.94-mainline-rev1 aarch64)
ppa:jonathonf / python-3.6
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"
CPUが違うので、この場合とは関係ないかもしれません。
ごめん。
Ubuntu 16.04でも同様の問題が発生しました(具体的には「distutils import dist、sysconfigから」
ImportError:名前 'dist' ")をインポートできません)および" sudo apt-get installpython3-distutils "で解決しました。ありがとうございます。
@RandyRomero @wakiyamapありがとう、 apt install python3-distutils
は私にも役立ちます。
@jonbesga私は16.04.4LTSを使用していて、機能しました。 編集-私はvagrantを使用しています、少し前に「vagrant box update」を実行しました、私は20180504にいます)
一般的に、私に言わせれば、pip関連の問題ではなく、Ubuntuのパッケージングと関係があります
@wakiyamapありがとう、あなたのソリューションapt install python3-distutils
も私のために働いた。
Ubuntu16.04.4でPython3.6.5にアップグレードしたところ、matplotlibのインポートとpipの呼び出しがすべて同じエラーで失敗しました。
この修正は広く普及する必要があります。
このスレッドは、閉じられた後、最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、新しい問題を開いてください。
最も参考になるコメント
同様のエラーも見られました。
ただし、
python3-distutils
をインストールすることで、このエラーを回避することができました。sudo apt-get install python3-distutils