使用pip安装Beautiful Soup

82

我正在尝试在Python 2.7中使用pip安装Beautiful Soup,但总是遇到错误信息而无法理解原因。

我按照指示安装了pip,并将其安装到以下目录:c:\Python27\Scripts\pip.exe。然后我尝试将其添加到路径中,并运行pip install package命令。

我尝试了两种不同的方法:

import sys
sys.path.append('C:\\Python27\\Scripts\\pip.exe')
pip install beautifulsoup4

import sys
sys.path.append('C:\\Python27\\Scripts')
pip install beautifulsoup4

两个都给我这个错误信息:

>>> pip install beautifulsoup4
SyntaxError: invalid syntax

Shell突出显示单词“install”并说它是无效的语法。

发生了什么事?

4个回答

153

pip 是一个命令行工具,不是 Python 语法。

换句话说,在控制台中运行该命令,而不是在 Python 解释器中运行:

pip install beautifulsoup4

你可能需要使用完整路径:

C:\Python27\Scripts\pip install beautifulsoup4

甚至

C:\Python27\Scripts\pip.exe install beautifulsoup4

接下来,Windows将执行pip程序,该程序将使用Python安装包。

另一个选项是使用Python的-m命令行开关运行pip模块,然后就可以像pip命令一样操作:

python -m pip install beautifulsoup4
或者
python.exe -m pip install beautifulsoup4

有时候,你可能会遇到 'Permission Denied' 错误,这种情况下,你需要在命令前添加 'sudo' 以超级用户身份运行它。 因此,命令应该如下所示: sudo pip install beautifulsoup4 - Naman Sancheti
@NamanSancheti 那通常表明您想要创建一个虚拟环境,并在其中安装软件。 - Martijn Pieters
@JeremyThompson 我仍然在 Stack Overflow 上活跃,我觉得那条评论不需要添加到我的答案中。 - Martijn Pieters
对于其他人 - 评论是您可以使用**--user**参数避免sudo,例如:pip install --user beautifulsoup4 - 您可以使用Amazon Linux AMI来重现此操作 - 这与VirtualEnv无关,只要运行原始脚本,就可能会遇到此错误。 - Jeremy Thompson

5
即使在损坏的设置环境中,也可以使用以下简单方法:
下载ez_setup.py并在命令行中运行。
python ez_setup.py

输出

正在提取 c:\uu\uu\appdata\local\temp\tmpjxvil3
现在工作于 c:\u\u\appdata\local\temp\tmpjxvil3\setuptools-5.6
安装Setuptools

运行

pip install beautifulsoup4

输出

下载/解析beautifulsoup4包
运行setup.py...为包获取egg信息
安装收集的包:beautifulsoup4
运行beautifulsoup4的setup.py进行安装
成功安装beautifulsoup4
清理中...

完成!


并导入它: "import bs4" - Amit Gupta

4
import os

os.system("pip install beautifulsoup4")

or

import subprocess

exe = subprocess.Popen("pip install beautifulsoup4")

exe_out = exe.communicate()

print(exe_out)

2
如果您安装了多个版本的Python,请运行相应的pip命令。
例如,对于Python 3.6,请运行以下命令。
pip3.6 install beautifulsoup4

要在Mac上检查pippython的可用命令/版本,请运行以下命令:

ls /usr/local/bin

太好了!我不知道在Py3中你要使用pip3,谢谢。 - Vladimir Stazhilov

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