安装beautifulsoup时遇到问题

0 投票
2 回答
2972 浏览
提问于 2025-04-18 12:23

我在安装BeautifulSoup4的时候遇到了一些麻烦(我在使用OSX 10.6和Python 3.3)。我已经尝试了几个小时,但始终没有成功……以下是我的操作过程:

我打开了终端,输入了

sudo easy_install pip

这个命令执行得很好,没有任何错误。

然后我输入了

pip install BeautifulSoup4

这个也成功了。不过它被安装到了Python 2.7的库文件夹里。为了检查它是否正常工作,我打开了Python的IDLE,输入了以下内容:

from bs4 import BeautifulSoup

结果返回了以下信息:

Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
from bs4 import BeautifulSoup
ImportError: No module named 'bs4'

我在网上搜索了很多,但论坛上推荐的每个解决方案都没有用。我已经下载了Python 3.4,因为它自带pip,而我在Python 3.3上没有安装pip,但bs4在Python 3.4上也无法使用。我尝试把安装在Python 2.7文件夹里的beautifulsoup文件夹移动到Python 3.3的sitepackage文件夹里,但也没有成功。

我还尝试从网站下载这个包,并用这个命令安装:

python setup.py install

还有

python3 setup.py install

后一个命令给了我很多错误信息,都是“无效语法”的错误,出现在一些bs4的代码里……比如:

.
...
....
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/bs4/__init__.py", line 175
except Exception, e:
                ^
SyntaxError: invalid syntax

byte-compiling /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/bs4/builder/__init__.py to __init__.cpython-34.pyc
byte-compiling /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/bs4/builder/_html5lib.py to _html5lib.cpython-34.pyc
byte-compiling /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/bs4/builder/_htmlparser.py to _htmlparser.cpython-34.pyc
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/bs4/builder/_htmlparser.py", line 76
except (ValueError, OverflowError), e:
                                  ^
SyntaxError: invalid syntax
....
..
.

我现在真的没有其他想法了……

2 个回答

0

我今天也遇到了这个问题。我的系统是Windows 8,安装了Python 2.7和Python 3.3。当我在Python 3.3下运行 from bs4 import BeautifulSoup 时,出现了这样的错误:

...Python33\lib\site-packages\bs4__init__.py, 第175行, 位置29
except Exception, e:
^
语法错误:无效的语法

所以我在Python 2.7和Python 3.3中都卸载了bs4。然后在Git中我执行了:

pip3 install BeautifulSoup4    

这个操作成功了,现在一切正常。

0

可能你的pip是和python2.7一起安装的。你应该明确地用python3来运行安装脚本,也就是用 python3 get_pip.py 这个命令。

撰写回答