python 2.7: cannot pip on windows "bash: pip: command not found"
Question:
I am trying to install the SciPy stack located at https://scipy.org/stackspec.html [I am only allowed 2 links; trying to use them wisely]. I realize that there are much easier ways to do this, but I think there is a lot to be learned by doing it manually. I am relatively new to a lot of this stuff, so I apologize if I sound ignorant at any point.
I am running Windows 7 Enterprise - 64 bit
. Here is what I have done so far:
-
Installed python-2.7.8.msi (32-bit)
from https://www.python.org/download/releases/2.7.8/
-
Installed numpy-1.8.1-win32-superpack-python2.7
from
http://sourceforge.net/projects/numpy/files/
Test: import numpy as np
—> no errors
-
Installed scipy
library,
scipy-0.14.0-win32-superpack-python2.7.exe
from
(SCIPY DOT ORG LINK REMOVED)
Test: import scipy as sp
—> no errors
-
Installed matplotlib
: matplotlib-1.3.1.win32-py2.7.exe
from
(MATPLOTLIB DOT ORG LINK REMOVED)
-
Installed PIP
by running script here:
https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py
I just copied-pasted script to a new file in IDLE
,
saved as C:Python27Scriptspip_install.py
and clicked Run>module
. No errors reported.
Does the path on which I saved
pip_install.py
matter?
HERE IS WHERE I FAIL
Attempted to install matlibplot dependency dateutil: Opened a
Cygwin Shell, and typed
cd C:Python27 ! is it necessary to cd to python directtory?
pip install python-dateutil
This results in the error:
bash: pip: command not found
I get the same error attempting from cmd
.
Any help is appreciated; the closest I found was bash: pip: command not found. But the OSX nature of it is just enough to confise me further.
UPDATE:
I added the pip-path per Paul H’s suggestion below. It made the error go away, but strangely, nothing I pip
actually installs. For example, in Cygwin
, I type:
cbennett2> pip install python-dateutil
cbennett2>
You can see that there is no output or feedback from the shell (which I think there should be). Then when I go to a new python shell:
>>> from dateutil.parser import parse
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
from dateutil.parser import parse
ImportError: No module named dateutil.parser
>>>>
This happens with all of the modules that I thought I had pip’d … pandas, tornado, etc.
Answers:
I had a similar problem running SciPy on my computer. There are two ways to fix this problem:
1. Yes you do need to cd into your python directory.
2. Sometimes you have to tell the computer explicitly what path to go through, you have to find the program you’re using, open up the properties, and reroute the path it takes to run.
3. consult the manual: http://matplotlib.org/users/installing.html or http://www.scipy.org/install.html
the Scipy package is very finicky, and needs things spelled out in obnoxious detail.
On Windows, pip
lives in C:[pythondir]scripts
.
So you’ll need to add that to your system path in order to run it from the command prompt. You could alternatively cd
into that directory each time, but that’s a hassle.
See the top answer here for info on how to do that:
Adding Python Path on Windows 7
Also, that is a terrifying way to install pip
. Grab it from Christophe Gohlke. Grab everything else from there for that matter.
http://www.lfd.uci.edu/~gohlke/pythonlibs/
- press
[win] + Pause
- Advanced settings
- System variables
- Append
;C:python27Scripts
to the end of Path
variable
- Restart console
I found this much simpler. Simply type this into the terminal:
PATH=$PATH:C:[pythondir]scripts
On windows 7, you have to use this command: python -m pip install xxx.
All above don’t work for me.
As long as pip lives within the scripts folder you can run
python -m pip ....
This will tell python to get pip from inside the scripts folder. This is also a good way to have both python2.7 and pyhton3.5 on you computer and have them in different locations. I currently have both python2 and pyhton3 installed on windows. When I type python
it defaults to python2. But if I type python3
I can use python3. (I also had to change the python.exe file for python3 to “python3.exe”)If I need to install flask for python 2 I can run
python -m pip install flask
and it will be installed in the pyhton2 folder, but if I need flask for python 3 I run:
python3 -m pip install flask
and I now have it in the python3 folder
If this is for Cygwin, it installs “pip” as “pip2”. Just create a softlink to “pip2” in the same location where “pip2” is installed.
The problem is that your Python version and the library you want to use are not same versionally (Python). Even if you install Python’s latest version, your PATH might not change properly and automatically. Thus, you should change it manually.After matching their version, it will work.
Ex: When I tried to install Django3, I got same error. I noticed that my PATH still seems C:python27Scripts though I already install Python3.8, so that I manually edited my PATH C:python38Scripts and reinstalled pip install Django and everything worked well.
I am trying to install the SciPy stack located at https://scipy.org/stackspec.html [I am only allowed 2 links; trying to use them wisely]. I realize that there are much easier ways to do this, but I think there is a lot to be learned by doing it manually. I am relatively new to a lot of this stuff, so I apologize if I sound ignorant at any point.
I am running Windows 7 Enterprise - 64 bit
. Here is what I have done so far:
-
Installed
python-2.7.8.msi (32-bit)
from https://www.python.org/download/releases/2.7.8/ -
Installed
numpy-1.8.1-win32-superpack-python2.7
from
http://sourceforge.net/projects/numpy/files/
Test:import numpy as np
—> no errors -
Installed
scipy
library,
scipy-0.14.0-win32-superpack-python2.7.exe
from
(SCIPY DOT ORG LINK REMOVED)
Test:import scipy as sp
—> no errors -
Installed
matplotlib
:matplotlib-1.3.1.win32-py2.7.exe
from
(MATPLOTLIB DOT ORG LINK REMOVED) -
Installed
PIP
by running script here:
https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py
I just copied-pasted script to a new file inIDLE
,
saved asC:Python27Scriptspip_install.py
and clickedRun>module
. No errors reported.
Does the path on which I saved
pip_install.py
matter?
HERE IS WHERE I FAIL
Attempted to install matlibplot dependency dateutil: Opened a
Cygwin Shell, and typed
cd C:Python27 ! is it necessary to cd to python directtory?
pip install python-dateutil
This results in the error:
bash: pip: command not found
I get the same error attempting from cmd
.
Any help is appreciated; the closest I found was bash: pip: command not found. But the OSX nature of it is just enough to confise me further.
UPDATE:
I added the pip-path per Paul H’s suggestion below. It made the error go away, but strangely, nothing I pip
actually installs. For example, in Cygwin
, I type:
cbennett2> pip install python-dateutil
cbennett2>
You can see that there is no output or feedback from the shell (which I think there should be). Then when I go to a new python shell:
>>> from dateutil.parser import parse
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
from dateutil.parser import parse
ImportError: No module named dateutil.parser
>>>>
This happens with all of the modules that I thought I had pip’d … pandas, tornado, etc.
I had a similar problem running SciPy on my computer. There are two ways to fix this problem:
1. Yes you do need to cd into your python directory.
2. Sometimes you have to tell the computer explicitly what path to go through, you have to find the program you’re using, open up the properties, and reroute the path it takes to run.
3. consult the manual: http://matplotlib.org/users/installing.html or http://www.scipy.org/install.html
the Scipy package is very finicky, and needs things spelled out in obnoxious detail.
On Windows, pip
lives in C:[pythondir]scripts
.
So you’ll need to add that to your system path in order to run it from the command prompt. You could alternatively cd
into that directory each time, but that’s a hassle.
See the top answer here for info on how to do that:
Adding Python Path on Windows 7
Also, that is a terrifying way to install pip
. Grab it from Christophe Gohlke. Grab everything else from there for that matter.
http://www.lfd.uci.edu/~gohlke/pythonlibs/
- press
[win] + Pause
- Advanced settings
- System variables
- Append
;C:python27Scripts
to the end ofPath
variable - Restart console
I found this much simpler. Simply type this into the terminal:
PATH=$PATH:C:[pythondir]scripts
On windows 7, you have to use this command: python -m pip install xxx.
All above don’t work for me.
As long as pip lives within the scripts folder you can run
python -m pip ....
This will tell python to get pip from inside the scripts folder. This is also a good way to have both python2.7 and pyhton3.5 on you computer and have them in different locations. I currently have both python2 and pyhton3 installed on windows. When I type python
it defaults to python2. But if I type python3
I can use python3. (I also had to change the python.exe file for python3 to “python3.exe”)If I need to install flask for python 2 I can run
python -m pip install flask
and it will be installed in the pyhton2 folder, but if I need flask for python 3 I run:
python3 -m pip install flask
and I now have it in the python3 folder
If this is for Cygwin, it installs “pip” as “pip2”. Just create a softlink to “pip2” in the same location where “pip2” is installed.
The problem is that your Python version and the library you want to use are not same versionally (Python). Even if you install Python’s latest version, your PATH might not change properly and automatically. Thus, you should change it manually.After matching their version, it will work.
Ex: When I tried to install Django3, I got same error. I noticed that my PATH still seems C:python27Scripts though I already install Python3.8, so that I manually edited my PATH C:python38Scripts and reinstalled pip install Django and everything worked well.