Install Python BeautifulSoup on Windows8

  • 2020-04-02 14:31:46
  • OfStack

Operating environment: Windows 8.1
Python: 2.7.6

During the installation, I used PIP to install, with the following command:


pip install beautifulsoup4

When running, the error is reported as follows:

Exception:
Traceback (most recent call last):
  File "J:Program Files (x86)PythonPython27libsite-packagespipbasecomm
.py", line 122, in main
    status = self.run(options, args)
  File "J:Program Files (x86)PythonPython27libsite-packagespipcommands
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)PythonPython27libsite-packagespipreq.py",
ne 1229, in prepare_files
    req_to_install.run_egg_info()
  File "J:Program Files (x86)PythonPython27libsite-packagespipreq.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)PythonPython27libsite-packagespipreq.py",
ne 265, in setup_py
    import setuptools
  File "buildbdist.win-amd64eggsetuptools__init__.py", line 11, in <modul
    from setuptools.extension import Extension
  File "buildbdist.win-amd64eggsetuptoolsextension.py", line 5, in <modul
  File "buildbdist.win-amd64eggsetuptoolsdist.py", line 15, in <module>
  File "buildbdist.win-amd64eggsetuptoolscompat.py", line 19, in <module>
  File "J:Program Files (x86)PythonPython27libSimpleHTTPServer.py", line
, in <module>
    class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
  File "J:Program Files (x86)PythonPython27libSimpleHTTPServer.py", line
8, in SimpleHTTPRequestHandler
    mimetypes.init() # try to read system mime.types
  File "J:Program Files (x86)PythonPython27libmimetypes.py", line 358, i
nit
    db.read_windows_registry()
  File "J:Program Files (x86)PythonPython27libmimetypes.py", line 258, i
ead_windows_registry
    for subkeyname in enum_types(hkcr):
  File "J:Program Files (x86)PythonPython27libmimetypes.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:UsersAdministratorpippip.log

Solution: open the mimetypes.py file under C:\Python27\Lib and find approximately 256 lines


default_encoding = sys.getdefaultencoding()

To:

if sys.getdefaultencoding() != 'gbk':
    reload(sys)
    sys.setdefaultencoding('gbk')
default_encoding = sys.getdefaultencoding()

After successful installation, verify whether the installation is successful:


C:UsersAdministrator>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()

If there is no error in "from bs4 import BeautifulSoup", the installation is successful; otherwise, similar error will be reported as follows:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named bs4


Related articles: