Ubuntu: How to install pip for Python 3.6 on Ubuntu 16.10?



Question:

I'd like to start by pointing out that this question may seem like a duplicate, but it isn't. All the questions I saw here on Ask Ubuntu were regarding pip for Python 3 and I'm talking about Python 3.6. The steps used back then don't work for Python 3.6.

  1. I got a clear Ubuntu 16.10 image from the official docker store.
  2. Run apt-get update
  3. Run apt-get install python3.6
  4. Run apt-get install python3-pip
  5. Run pip3 install requests bs4
  6. Run python3.6 script.py

Got ModuleNotFoundError below:

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

Python's and pip's I have in the machine:

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


Solution:1

With regard to installing pip, using curl (instead of wget) avoids writing the file to disk.

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

After this, pip, pip3, and pip3.6 can all be expected to point to the same target:

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

Of course you can alternatively use python3.6 -m pip as well.

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


Solution:2

I got an answer on stackoverflow.

Source: https://stackoverflow.com/a/44254088/1812319

Let's suppose that you have a system running Ubuntu 16.04, 16.10, or 17.04, and you want Python 3.6 to be the default Python.

If you're using Ubuntu 16.04 LTS, you'll need to use a PPA:

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

Then, run the following (this works out-of-the-box on 16.10 and 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  

When you have completed all of the above, each of the following shell commands should indicate Python 3.6.1 (or a more recent version of 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  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »