LinuxでのPythonとpipのインストールおよび「AttributeError:module'pip._main_'has no attribute'_main'エラー」

3395 ワード

(作者:陳玓玏)
一、LinuxにPythonをインストールする
最近Linuxが逆さになってきましたが、Linuxをインストールしてからの最初のステップはPythonをインストールすることです.
しかしLinuxシステムはこの方面で特に友好的で、Pythonを持参したので、しかしデフォルトの使用するPythonはPython 2で、基本的にPython 2を使うことはできなくて、すべてPython 3を使うので、システムのPythonの指向を修正する必要があります.Python 3にもいくつかのバージョンがありますが、自分のPythonのバージョンが分からない場合は、まず**/usr/bin/**というディレクトリの下で見ることができます.一般的にはデフォルトはここにインストールされていますが、リンクを再設定します.リンクをリセットする方法は次のとおりです.
#     ,    ,        
sudo rm /usr/bin/python   #      
sudo ln -s /usr/bin/python3.5 /usr/bin/python   #      ,     Python3.5

コマンドラインにpythonを直接入力すると、pythonのインストール状況を確認できます.変更に成功すると、新しいバージョン情報が表示されます.
二、AttributeError:module'pip.main’ has no attribute '_main’エラー
Pythonのほかにpipも必ずインストールします.最初はそうしましたが、上のエラーが発生し、次のコマンドを入力しました.
sudo apt-get install python-pip python-dev build-essential  #     pip
sudo pip install --upgrade pip  #  pip

pipを更新した後、新しいpipはネット上のチュートリアルに従ってプロファイルを修正する必要があります.修正プロセスは以下の通りです.
#  pip     
#        sudo,           ,          
sudo gedit /usr/bin/pip 

#               
from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

この一連の操作が完了したら、バージョンを表示したいので、コマンドラインにpipを直接入力し、エラーを報告しました.
AttributeError:module 'pip.__main__' has no attribute '_main'

検索すると、pipバージョンが10.0より高いため、pipのバージョンを下げるには、以下の方法で特定のバージョンを取得する必要があります.
python -n pip install --upgrade pip==9.0.3

結果:
You are using pip version 8.1.1,however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
 

だから、半日考えてバージョンを下げて、またバージョンを上げて、気持ち悪いです.仕方なく、sudoを1回バージョンアップしませんでした.
pip install --upgrade pip

やはり同じエラーを提示するので、まずpipのプロファイルを元に戻すことにして、もう一度sudoを付けないpip更新コマンドを試して、更新が終わってから修正すればいいのです.最後にpipコマンドを入力して正しいバージョン情報を表示すると成功し、結局pip 18.1のバージョンを使っていたので、実は私のバージョンが低すぎるわけではありません.
三、Linuxにpipをインストールする
したがって、正しいインストール方法は以下のようにまとめられています.
sudo apt-get install python-pip python-dev build-essential  #     pip
pip install --upgrade pip  #  pip

pipを更新した後、新しいpipはネット上のチュートリアルに従ってプロファイルを修正する必要があります.修正プロセスは以下の通りです.
#  pip     
#        sudo,           ,          
sudo gedit /usr/bin/pip 

#               
from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

上の間違いがあれば、ファイルを先に変更して、何度も更新してから、この方法でファイルを修正すればいいです.pipを入力するとpipのさまざまなコマンドの使い方が提示され、成功します.
四、Python 3対応pip及びE:Sub-process/usr/bin/dpkg returned an error code(1)エラー
linuxのpythonがpython 3にアップグレードされると、対応するpipもpython 3-pipにアップグレードする必要があります.python-pipのインストールにアップグレードされると、「E:Sub-process/usr/bin/dpkg returned an error code(1)」のエラーが表示されます.apt-get install python3-pipを使用してpython 3対応pipをインストールする必要があります.
しかしapt-get install python 3-pipを使用してpython 3対応のpipをインストールすると、上記の問題が発生し、以下の方法で解決します.https://www.cnblogs.com/ilym/p/8387561.html .次にpython 3-pipを再インストールし、使用時にpip--versionを使用してバージョンを表示することはできません.pip 3--versionを使用し、その後のすべてのpipはpip3 install numpyなどのpip 3コマンドを使用する必要があります.
以下、参考記事のソリューションを貼り付けて、効果を測定します.
    :
      :
cd /var/lib/dpkg
        :
sudo mv info info.baksudo
        :
sudo mkdir info
    :
(1)  pip3:
sudo apt-get install python3-pip
(2)  pip3  ,       :
pip3 --version