Python 2.7:无法在Windows上使用pip "bash:pip:命令未找到"

45

我正在尝试安装位于 https://scipy.org/stackspec.html 的 SciPy 栈 [我只能使用2个链接; 尽量明智地使用它们]。 我知道有更简单的方法来完成这个过程,但我认为通过手动操作可以学到很多东西。 我对很多这方面的问题都比较新,所以如果在任何时候听起来无知,请原谅。

我正在运行 Windows 7 Enterprise - 64位。 到目前为止,我已经做了以下事情:

  1. https://www.python.org/download/releases/2.7.8/ 安装了 python-2.7.8.msi (32-bit)

  2. http://sourceforge.net/projects/numpy/files/ 安装了 numpy-1.8.1-win32-superpack-python2.7 测试:import numpy as np ---> 没有错误

  3. 安装了 scipy 库,
    从 (SCIPY DOT ORG LINK REMOVED) 安装了 scipy-0.14.0-win32-superpack-python2.7.exe 测试:import scipy as sp ---> 没有错误

  4. 安装了 matplotlibmatplotlib-1.3.1.win32-py2.7.exe, 从 (MATPLOTLIB DOT ORG LINK REMOVED) 安装

  5. 通过在这里运行脚本来安装 PIPhttps://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py 我只是将脚本复制粘贴到 IDLE 中的一个新文件中,另存为 C:\Python27\Scripts\pip_install.py,然后点击 Run>module。没有报告任何错误。

我保存 pip_install.py 的路径是否重要?


这是我失败的地方

尝试安装 matlibplot 依赖项 dateutil:打开 Cygwin Shell,并键入

        cd C:\Python27          ! is it necessary to cd to python directtory?
        pip install python-dateutil

这会导致错误:

    bash: pip: command not found

尝试用cmd时,我遇到了同样的错误。

非常感谢任何帮助;最接近的答案是bash: pip: command not found,但其中涉及到的OSX问题让我更加困惑。


更新:

根据Paul H的建议,我添加了pip路径。这样做的确消除了错误,但奇怪的是,我使用pip安装的东西都没有成功安装。例如,在Cygwin中,我输入:

cbennett2> pip install python-dateutil
cbennett2>                            

你会发现在当前的命令行中没有任何输出或反馈(我认为应该有)。然后当我进入一个新的Python命令行时:

>>> 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
>>>>

我以为我已经使用 pip 安装了所有模块,比如 pandas、tornado 等,但是出现了这种情况。


有没有可能说服你不要使用Cygwin?如果你需要一个科学的Python设置,请使用Anaconda。 - Paul H
例如,您安装的所有*.msi文件都没有进入cygwin。请使用普通的Windows命令提示符。 - Paul H
@Paul H:我尝试在CMD中使用pip,但没有成功。 - Saladsamurai
Cygwin让这一切都变得非常麻烦。你运行了pip安装程序吗?它找到了哪个版本的Python? - Paul H
也可以看看这个:https://docs.conda.io/en/latest/miniconda.html - Solomon Vimal
8个回答

89

在Windows系统上,pip 存放在 C:\[pythondir]\scripts 目录下。

因此您需要将该目录添加到系统路径中,才能从命令提示符中运行它。或者,每次都可以使用 cd 命令进入该目录,但那样很麻烦。

请参阅这里的顶部答案以获取详细信息: 在 Windows 7 上添加 Python 路径

此外,那是一种可怕的安装 pip 的方式。最好从 Christophe Gohlke 获取它。事实上,从那里获取其他所有内容。 http://www.lfd.uci.edu/~gohlke/pythonlibs/


抱歉,我不得不取消接受,因为我仍然无法使用pip。我错误地认为缺少错误是pip正在工作。现在它什么也没做。正在更新问题。 - Saladsamurai
@Saladsamurai,你删掉那个你复制粘贴的古怪版本的 pip 了吗? - Paul H
你运行了安装程序吗? - Paul H
2
有几件事情要说明。首先,无论你是否打算这样做,你可能会有两个Python版本。其中一个是在Cygwin中隔离的,另一个是通过安装程序安装的,并且可以供整个系统使用。在Windows上,这将是一件麻烦事。在Linux上,这很简单,在Mac OS X上只是轻微的烦恼。Windows在这方面永远是二等公民。Continuum是anaconda背后的公司,他们认识到了这一点,并制作了他们的免费产品,该产品将完全按照您的需求运行。生活就是这样。 (@Saladsamurai) - Paul H
1
值得注意的是,在其中一个Python中安装的软件包将不会在另一个Python中可用。它们彼此完全隔离。 - Paul H
显示剩余3条评论

37
只要pip存储在scripts文件夹中,您就可以运行 python -m pip .... 这将告诉Python从scripts文件夹获取pip。这也是在计算机上同时拥有python2.7和python3.5并将它们安装在不同位置的好方法。我目前在Windows上安装了python2和python3。当我键入python时,默认使用python2。但是,如果我键入python3,我就可以使用python3。(我还必须将python3的python.exe文件更改为"python3.exe")如果我需要为python 2安装flask,我可以运行 python -m pip install flask 它将被安装在python2文件夹中,但如果我需要python 3的flask,则运行: python3 -m pip install flask 现在我已经在python3文件夹中拥有它了。

我认为你的答案更加优雅,希望它能在所有场景下都起作用。谢谢! - Bruno João

12
  1. 按下 [win] + Pause
  2. 高级系统设置
  3. 系统变量
  4. Path 变量末尾添加 ;C:\python27\Scripts
  5. 重新启动控制台

5
对于其他人,[win] + pause 仍然是 Windows 10 中有效的键盘快捷键。 - worc

4
我发现这种方法更简单。只需在终端中输入以下内容:
PATH=$PATH:C:\[pythondir]\scripts 

我同意这是最好的方式!谢谢你。 - huckbit

4

在Windows 7上,您需要使用以下命令:python -m pip install xxx。

以上所有方法都对我无效。


3
如果是针对Cygwin的话,它会将“pip”安装为“pip2”。只需在“pip2”安装位置创建一个软链接到“pip2”即可。

1
我在我的电脑上运行SciPy时遇到了类似的问题。有两种方法可以解决这个问题: 1. 是的,你确实需要进入Python目录。 2. 有时你必须明确告诉计算机要经过哪个路径,你必须找到你正在使用的程序,打开属性,并重新定位它运行的路径。 3. 参考手册:http://matplotlib.org/users/installing.htmlhttp://www.scipy.org/install.html Scipy软件包非常挑剔,需要详细说明。

0
问题在于您的Python版本和您想要使用的库不是同一个版本(Python)。即使您安装了Python的最新版本,您的PATH可能不会正确自动更改。因此,您应该手动更改它。匹配它们的版本后,它将正常工作。
例如:当我尝试安装Django3时,我遇到了相同的错误。我注意到我的PATH仍然是C:\ python27 \ Scripts,尽管我已经安装了Python3.8,所以我手动编辑了我的PATH C:\ python38 \ Scripts并重新安装pip install Django,一切都运行良好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接