メンテナノート:まだこの問題が発生している場合は、#5599を参照してください。
環境
sas@sas-linuxmint /usr/bin $ pip3 install --user --upgrade pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
ImportError: cannot import name 'main'
sas@sas-linuxmint /usr/bin $ pip3 install --upgrade pip
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
同じ問題
同じ問題
これは#5221と同じです。
@pradyunsgなぜこれをクローズドイシューの複製としてマークするのですか? それがまだ問題であるならば、それは明らかに閉じられていません...
@sydanny : https :
この場合、特定の問題は次のように思われます。
pip3 install --user --upgrade pip
はユーザーサイトにpip 10をインストールしますが、pipのシステムサイトコピーをアンインストールしません。/usr/bin/pip3
からシステムラッパーを実行します。このラッパーはpip 8を表示することを想定していますが、ユーザーサイトがシステムサイトよりも優先されるため、そうではありません。解決策は、pip 10を--user
インストールしたときにインストールされたpipラッパーを使用することです。 つまり、PATHを変更して最初に配置するか、pipを呼び出すときに明示的なパスを使用することを意味します。
技術的には、ここでの問題は#5221とは少し異なります。その問題では、ユーザーがシステムピップを上書きしていました。 ただし、根本的な原因は同じです。新しいバージョンのpipに対して古いpipラッパー(OSが提供)を使用します。 これはサポートされているシナリオではなく、pipを正しく使用すると発生しません。 したがって、pipの問題はありません。したがって、問題が発生したときにクローズします。 間違ったアップグレードの後にシステムを整理する方法に関するアドバイスの大部分がそこにあるため、ユーザーを#5221に誘導しています。
thang @ cq-gpu :/ mnt / tmp / tqdscripts / azure / nvtf $ pip3 install --user --upgrade pip
トレースバック(最後の最後の呼び出し):
ファイル "/ usr / bin / pip3"、9行目、
pip importmainから
ImportError:名前 'main'をインポートできません
これは私には何もしません。 それでも同じ問題。
#5599とそこにリンクされている問題をご覧ください。
hash -d pip
私のために働いた
pipをアンインストールして再インストールしました。 うまくいくようです。
同じ問題が発生しましたが、aptとpipを使用したアンインストールと再インストールが機能しませんでした。
私はpip3パスを回復する簡単な方法を提示するstackoverflowの別の解決策を見ました:
sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
こんにちは、仲間! 私は同じ問題を抱えてそれを解決しました。 これが私の解決策です。
まず、pip installを実行すると、次のようなエラーが発生しました。
`Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
`
そこで、ファイル/ usr / bin /とcatpip3にcdして、その中のコードを確認します。 私はそれにこれを見ます:
`#!/usr/bin/python3
# GENERATED BY DEBIAN
import sys
# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
sys.exit(main())
`
そして、それはインストールパスになかったと思います。 だから私は次のようにpython3-pipにcdします:
cd /.local/lib/python3.5/site-packages/pip
ps:あなたはあなたのコンピュータで正しい方向にcdする必要があります
次に、ファイルをcatして違いを確認します(他の操作を使用してコードを確認できます)。
cat __main__.py
そして私はこれを見ました:
`from __future__ import absolute_import
import os
import sys
# If we are running from a wheel, add the wheel to sys.path
# This allows the usage python pip-*.whl/pip install pip-*.whl
if __package__ == '':
# __file__ is pip-*.whl/pip/__main__.py
# first dirname call strips of '/__main__.py', second strips off '/pip'
# Resulting path is the name of the wheel itself
# Add that to sys.path so we can import pip
path = os.path.dirname(os.path.dirname(__file__))
sys.path.insert(0, path)
from pip._internal import main as _main # isort:skip # noqa
if __name__ == '__main__':
sys.exit(_main())
`
それで、あなたは違いを見ることができますか? ファイルを/ usr / bin / pip3のファイルと同じにする必要があることがわかります
そこで、/。local / lib / python3.5 / site-packages / pipのコードをコピーして、/ usr / bin / pip3のコードを置き換えました。
そして問題は消えます!
ps:pip3またはpipは、この問題に違いはありません。
私の解決策があなたの問題を解決するなら、私は幸せです!
pip3を使用する:+1:
使ってみてください
python3 -m pip install --user "packagename"
@linpanusstは正しいです
sudo ln -sf $( type -P pip ) /usr/bin/pip
同じ問題がここでも発生します。 Deepin OS、15.7。 興味深い点は、通常のユーザーとしては失敗しますが、sudoでは問題なく動作するように見えることです。
$ pip3 search audioshare
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
$ sudo pip3 search librosa
librosa (0.6.2) - Python module for audio and music processing
提案された回避策sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
は違いがありません
stackoverflowに投稿された解決策は、 /usr/bin/pip3
を編集することは通常のユーザーには役立ちますが、 sudo
壊すことを示唆しています:
$ sudo pip3 search librosa
Traceback (most recent call last):
File "/usr/bin/pip3", line 13, in <module>
sys.exit(__main__._main())
AttributeError: module 'pip.__main__' has no attribute '_main'
#5599とそこにリンクされている問題をご覧ください。
最も参考になるコメント
hash -d pip
私のために働いた