On Ubuntu 10.04 by default Python 2.6 is installed, then I have installed Python 2.7. How can I use pip install
to install packages for Python 2.7.
For example:
pip install beautifulsoup4
by default installs BeautifulSoup for Python 2.6
When I do:
import bs4
in Python 2.6 it works, but in Python 2.7 it says:
No module named bs4
In Windows, you can execute the pip module by mentioning the python version ( You need to ensure that the launcher is on your path )
py -2 -m pip install pyfora
I had Python 2.7 installed via chocolatey on Windows and found pip2.7.exe
in C:\tools\python2\Scripts
.
Using this executable instead of the pip
command installed the correct module for me (requests
for Python 2.7).
As with any other python script, you may specify the python installation you'd like to run it with. You may put this in your shell profile to save the alias. The $1
refers to the first argument you pass to the script.
# PYTHON3 PIP INSTALL V2
alias pip_install3="python3 -m $(which pip) install $1"
I faced a similar problem with another package called Twisted. I wanted to install it for Python 2.7, but it only got installed for Python 2.6 (system's default version).
Making a simple change worked for me.
When adding Python 2.7's path to your $PATH
variable, append it to the front like this: PATH=/usr/local/bin:$PATH
, so that the system uses that version.
If you face more problems, you can follow this blog post which helped me - https://github.com/h2oai/h2o-2/wiki/installing-python-2.7-on-centos-6.3.-follow-this-sequence-exactly-for-centos-machine-only
If you have both 2.7 and 3.x versions of python installed, then just rename the python exe file of python 3.x version to something like - "python.exe" to "python3.exe". Now you can use pip for both versions individually. If you normally type "pip install " it will consider the 2.7 version by default. If you want to install it on the 3.x version you need to call the command as "python3 -m pip install ".
You can use this syntax
python_version -m pip install your_package
For example. If you're running python3.5, you named it as "python3", and want to install numpy package
python3 -m pip install numpy
You can execute pip module for a specific python version using the corresponding python:
Python 2.6:
python2.6 -m pip install beautifulsoup4
Python 2.7
python2.7 -m pip install beautifulsoup4
Have tried this on a Windows machine and it works
If you wanna install opencv for python version 3.7, heres how you do it!
py -3.7 -m pip install opencv-python
For Python 3
sudo apt-get install python3-pip
sudo pip3 install beautifulsoup4
For Python 2
sudo apt-get install python2-pip
sudo pip2 install beautifulsoup4
On Debian/Ubuntu,
pip
is the command to use when installing packages for Python 2, whilepip3
is the command to use when installing packages for Python 3.
for python2 use:
py -2 -m pip install beautifulsoup4
Python 2
sudo pip2 install johnbonjovi
Python 3
sudo pip3 install johnbonjovi
Alternatively, since pip
itself is written in python, you can just call it with the python version you want to install the package for:
python2.7 -m pip install foo
Alternatively, if you want to install specific version of the package with the specific version of python, this is the way
sudo python2.7 -m pip install pyudev=0.16
if the "=" doesnt work, use ==
x@ubuntuserv:~$ sudo python2.7 -m pip install pyudev=0.16
Invalid requirement: 'pyudev=0.16' = is not a valid operator. Did you mean == ?
x@ubuntuserv:~$ sudo python2.7 -m pip install pyudev==0.16
works fine
Source: Stackoverflow.com