为什么Python中的"pip install"引发了一个SyntaxError?

Nac*_*cht 203 python install pip

我正在尝试使用pip来安装软件包.我尝试pip install从Python shell 运行,但我得到了一个SyntaxError.为什么我会收到此错误?我如何使用pip来安装包?

>>> pip install selenium
              ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

Len*_*bro 264

pip是从命令行运行的,而不是Python解释器.它是一个安装模块的程序,因此您可以从Python中使用它们.一旦安装了模块,就可以打开Python shell了import selenium.

Python shell不是命令行,它是一个交互式解释器.您在其中键入Python代码,而不是命令.

  • @Nacht - `pip`将位于python安装的scripts目录中,因此您需要将其添加到路径中.将`C:\ Python32\scripts`添加到`PATH`中.根据您安装路径的位置根据需要更改路径. (24认同)
  • 实际上,windows 中的 pip.exe 与 /scripts 目录中的其他脚本一样是一个 python 脚本,但包装在 exe 中以使用默认的 python 解释器运行它。通过使用 7-zip 打开 pip.exe,您可以看到 _main_.py 正在导入 pip、sys 和 re 模块...(在那里您将找到如何在 python shell 中运行它的答案)--> pip 是一个常规蟒蛇模块。不要忘记 windows 不是第一个支持 python 的平台,linux 是,python 是操作系统的一部分。 (4认同)
  • 感谢您的澄清,但我仍然无法运行它。它究竟在哪里?它给了我一个“无法识别 pip”的错误(因为我不是正确的目录)。它安装在 \site-packages 中,但我正在考虑,但找不到任何 pip.exe (3认同)

小智 93

使用命令行,而不是Python shell(Windows中的DOS,PowerShell).

C:\Program Files\Python2.7\Scripts> pip install XYZ
Run Code Online (Sandbox Code Playgroud)

如果使用最新的安装程序将Python安装到PATH中,则无需在该文件夹中运行pip

Mac或Linux中的终端

$ pip install XYZ
Run Code Online (Sandbox Code Playgroud)

  • 感谢您提供 C:....,帮助我意识到我需要 cd 到哪里,因为您不能简单地打开命令行并输入 pip。 (4认同)
  • 仅供参考,我刚刚安装的 Python 没有设置`PATH`。我必须手动执行此操作,指向“%APPDATA%”中的安装路径 (2认同)

Zyd*_*nar 57

更新:由于pip版本10.x没有更多get_installed_distributions()main方法import pip 而是使用 import pip._internal as pip.


如果你想在Python解释器中使用pip,试试这个:

from pip._internal.operations.freeze import freeze

print([package for package in freeze()])

# eg output ['pip==19.0.3']
Run Code Online (Sandbox Code Playgroud)

如果需要更新每个已安装的软件包,请使用以下命令:

import pip

package_names=['selenium', 'requests'] #packages to install
pip.main(['install'] + package_names + ['--upgrade']) 
# --upgrade to install or update existing packages
Run Code Online (Sandbox Code Playgroud)

如果要在任何安装失败时停止安装其他软件包,请在一次get_installed_distributions()调用中使用它:

import pip

for i in pip.get_installed_distributions():
    pip.main(['install', i.key, '--upgrade'])
Run Code Online (Sandbox Code Playgroud)

注意:使用freeze/ pip.main([])参数从文件列表中安装时,不需要open()函数.

import pip

package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])
Run Code Online (Sandbox Code Playgroud)

警告:一些简单的参数-r可能会导致python解释器停止.

好奇心:通过使用--requirement你实际上使用python解释器和pip模块无论如何.如果你解包--help或者pip.exe不管它是python 2.x还是3.x,里面都是SAME单个文件pip.exe:

pip.main(['install', '-r', 'filename'])
Run Code Online (Sandbox Code Playgroud)

  • 这适用于Python shell,所以我认为应该是接受的答案. (5认同)
  • 这正是我在Google搜索此问题时希望找到的内容. (4认同)
  • 很好的答案,它绝对应该包含在这里,但我不同意它应该是公认的答案,因为用户显然试图使现在普遍存在的语法“pip install”起作用。由于该语法不适用于此方法,因此它不能直接解决该问题。不过,它可能比接受的答案更有用:) (2认同)

Dan*_*Dan 49

要在Python 3.x中运行pip,只需按照Python页面上的说明操作:安装Python模块.

python -m pip install SomePackage
Run Code Online (Sandbox Code Playgroud)

请注意,这是从命令行运行而不是python shell(原始问题中语法错误的原因).

  • 我仍然收到无效语法。我在 Windows 10 电脑上使用 IPython。有什么想法吗? (3认同)
  • 这没有回答任何有关语法错误的问题 (3认同)

man*_*ear 5

最初我也遇到了同样的问题,我安装了 python,当我运行pip命令时,它曾经向我抛出如下图所示的错误。

在此处输入图片说明

确保在环境变量中添加了 pip 路径。对我来说,python和pip的安装路径是::
Python: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
pip:C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
这两个路径都被添加到环境变量中的path中。

现在打开一个新的 cmd 窗口并输入 pip,您应该会看到如下屏幕。

在此处输入图片说明

现在输入pip install <<package-name>>. 在这里,我正在安装包 spyder,因此我的命令行语句将pip install spyder与我的运行屏幕一样。

在此处输入图片说明

我希望我们已经完成了这个!!

  • 这并不能回答问题。 (3认同)