Ubuntu 16.10にPython 3.6のpipをインストールする方法は?


40

この質問は重複しているように見えるかもしれませんが、そうではないことを指摘することから始めたいと思います。Ask Ubuntuでここで見た質問はすべて、Python 3のpipに関するものであり、Python 3.6について話している。当時使用されていた手順は、Python 3.6では機能しません。

  1. 公式のドッカーストアからUbuntu 16.10の明確なイメージを取得しました。
  2. 走る apt-get update
  3. 走る apt-get install python3.6
  4. 走る apt-get install python3-pip
  5. 走る pip3 install requests bs4
  6. 走る python3.6 script.py

ModuleNotFoundError以下に行きました:

 Traceback (most recent call last):
    File "script.py", line 6, in <module>
     import requests
 ModuleNotFoundError: No module named 'requests'

私がマシンに持っているPythonとpip:

python3
python3.5
python3.5m
python3.6
python3m
python3-config
python3.5-config
python3.5m-config
python3.6m
python3m-config  

pip
pip3
pip3.5

回答:


44

この回答は、python3.6インストール済みであることを前提としています。以下のためにpython3.7交換してください、3.63.7。の場合python3.8、に置き換えます3.63.8、最初にpython3.8-distutilsパッケージが必要になる場合もあります。

sudoを使用したインストール

インストールpipに関して、curl(の代わりにwget)を使用すると、ディスクへのファイルの書き込みが回避されます。

curl https://bootstrap.pypa.io/get-pip.py | sudo -H python3.6

-Hフラグと明らかに必要であるsudoようなエラーを防止するために更新されたPythonインタプリタのためのPIPをインストールするとき、次の

ディレクトリ '/home/someuser/.cache/pip/http'またはその親ディレクトリは現在のユーザーが所有しておらず、キャッシュは無効になっています。そのディレクトリの権限と所有者を確認してください。sudoでpipを実行する場合は、sudoの-Hフラグが必要な場合があります。

ディレクトリ「/home/someuser/.cache/pip」またはその親ディレクトリが現在のユーザーによって所有されておらず、キャッシングホイールが無効になっています。そのディレクトリの権限と所有者を確認してください。sudoでpipを実行する場合は、sudoの-Hフラグが必要な場合があります。

sudoを使用しないインストール

curl https://bootstrap.pypa.io/get-pip.py | python3.6 - --user

これにより、次のような警告が表示される場合があります。

警告:スクリプトホイールは、PATH上にない「/home/ubuntu/.local/bin」にインストールされます。このディレクトリをPATHに追加することを検討してください。または、この警告を抑制したい場合は、-no-warn-script-locationを使用してください。

検証

この後、pippip3、およびpip3.6すべて同じターゲットを指すように期待することができます。

$ (pip -V && pip3 -V && pip3.6 -V) | uniq
pip 18.0 from /usr/local/lib/python3.6/dist-packages (python 3.6)

もちろん、代わりに使用することもできpython3.6 -m pipます。

$ python3.6 -m pip -V
pip 18.0 from /usr/local/lib/python3.6/dist-packages (python 3.6)

5
スクリプトは、python3.6セットアップツール/簡単なインストールが機能していると想定しているようです。そのため、私にはうまくいきませんでした。最終的に使用したのはcurl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pip
FirefoxMetzger

Ubuntu 14.04 にインストールpython3.6してpython3.6-devからppa:jonathonf/python-3.6。単にsetuptoolsを忘れたのか、壊れたのかはわかりませんが、当時は機能していませんでした。
FirefoxMetzger

それはあなたの答えを決して偽造しません=)それは誰かが同じ(うまくいけば珍しい)問題に出くわした場合の単なる追加です。
FirefoxMetzger

@ABBもし私がしたいpip -Vことpython 2.7pip3 -V && pip3.6 -Vなりpython 3.6、私が行うことができますか?
ベニヤミンジャファリ

1
あなたは使用することができるwget -O -だけでなくstdoutに結果をストリーミングする:wget -O - https://bootstrap.pypa.io/get-pip.py | sudo -H python3.6
ingomueller.net

16

私はstackoverflowで答えを得ました。

ソース:https : //stackoverflow.com/a/44254088/1812319

Ubuntu 16.04、16.10、または17.04を実行しているシステムがあり、Python 3.6をデフォルトのPythonにしたいとします。

Ubuntu 16.04 LTSを使用している場合、PPAを使用する必要があります。

sudo add-apt-repository ppa:jonathonf/python-3.6  # (only for 16.04 LTS)

次に、以下を実行します(これは16.10および17.04ですぐに使用できます)。

sudo apt update
sudo apt install python3.6
sudo apt install python3.6-dev
sudo apt install python3.6-venv
wget https://bootstrap.pypa.io/get-pip.py
sudo python3.6 get-pip.py
sudo ln -s /usr/bin/python3.6 /usr/local/bin/python3
sudo ln -s /usr/local/bin/pip /usr/local/bin/pip3

# Do this only if you want python3 to be the default Python
# instead of python2 (may be dangerous, esp. before 2020):
# sudo ln -s /usr/bin/python3.6 /usr/local/bin/python

上記のすべてを完了すると、次の各シェルコマンドがPython 3.6.1(またはPython 3.6の最新バージョン)を示すはずです。

python --version   # (this will reflect your choice, see above)
python3 --version
$(head -1 `which pip` | tail -c +3) --version
$(head -1 `which pip3` | tail -c +3) --version

1
「pipというモジュールはありません」
カメはかわいい

やってみsudo apt get updatesudo apt get upgradeコマンドを実行する前に。
JChris

助けてくれてありがとう; とても有難い。これをトラブルシューティングしながら、システムをログインループの状態にしました。最も簡単な修正方法は再フォーマット/再インストールのようです。
カメはかわいい
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.