Python:Windows8下安装BeautifulSoup
运行环境:Windows 8.1
Python:2.7.6
在安装的时候,我使用的pip来进行安装,命令如下:
pip install beautifulsoup4
运行的时候,报错如下:
Exception: Traceback (most recent call last): File "J:\Program Files (x86)\Python\Python27\lib\site-packages\pip\basecomm .py", line 122, in main status = self.run(options, args) File "J:\Program Files (x86)\Python\Python27\lib\site-packages\pip\commands stall.py", line 278, in run requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bu e=self.bundle) File "J:\Program Files (x86)\Python\Python27\lib\site-packages\pip\req.py", ne 1229, in prepare_files req_to_install.run_egg_info() File "J:\Program Files (x86)\Python\Python27\lib\site-packages\pip\req.py", ne 292, in run_egg_info logger.notify('Running setup.py (path:%s) egg_info for package %s' % (sel etup_py, self.name)) File "J:\Program Files (x86)\Python\Python27\lib\site-packages\pip\req.py", ne 265, in setup_py import setuptools File "build\bdist.win-amd64\egg\setuptools\__init__.py", line 11, in <modul from setuptools.extension import Extension File "build\bdist.win-amd64\egg\setuptools\extension.py", line 5, in <modul File "build\bdist.win-amd64\egg\setuptools\dist.py", line 15, in <module> File "build\bdist.win-amd64\egg\setuptools\compat.py", line 19, in <module> File "J:\Program Files (x86)\Python\Python27\lib\SimpleHTTPServer.py", line , in <module> class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): File "J:\Program Files (x86)\Python\Python27\lib\SimpleHTTPServer.py", line 8, in SimpleHTTPRequestHandler mimetypes.init() # try to read system mime.types File "J:\Program Files (x86)\Python\Python27\lib\mimetypes.py", line 358, i nit db.read_windows_registry() File "J:\Program Files (x86)\Python\Python27\lib\mimetypes.py", line 258, i ead_windows_registry for subkeyname in enum_types(hkcr): File "J:\Program Files (x86)\Python\Python27\lib\mimetypes.py", line 249, i num_types ctype = ctype.encode(default_encoding) # omit in 3.x! UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordin not in range(128) Storing debug log for failure in C:\Users\Administrator\pip\pip.log
解决方法:打开C:\Python27\Lib下的 mimetypes.py 文件,找到大概256行的
default_encoding = sys.getdefaultencoding()
改成:
if sys.getdefaultencoding() != 'gbk': reload(sys) sys.setdefaultencoding('gbk') default_encoding = sys.getdefaultencoding()
安装成功后,验证是否安装成功:
C:\Users\Administrator>python Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)] on 32 Type "help", "copyright", "credits" or "license" for more information. >>> from bs4 import BeautifulSoup >>> exit()
如果“from bs4 import BeautifulSoup”没有报错的话,则说明安装成功,否则,将报类似错误如下:
Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named bs4