1. 程式人生 > >虛擬環境指定python2.7版本報錯解決

虛擬環境指定python2.7版本報錯解決

虛擬環境指定python版本報錯:

Exception:
Traceback (most recent call last):
  File "d:\python\python36_64\lib\site-packages\virtualenv_support\pip-9.0.3-py2.py3-none-any.whl\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "d:\python\python36_64\lib\site-packages\virtualenv_support\pip-9.0.3-py2.py3-none-any.whl\pip\commands\install.py", line 324, in run
    requirement_set.prepare_files(finder)
  File "d:\python\python36_64\lib\site-packages\virtualenv_support\pip-9.0.3-py2.py3-none-any.whl\pip\req\req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "d:\python\python36_64\lib\site-packages\virtualenv_support\pip-9.0.3-py2.py3-none-any.whl\pip\req\req_set.py", line 554, in _prepare_file
    require_hashes
  File "d:\python\python36_64\lib\site-packages\virtualenv_support\pip-9.0.3-py2.py3-none-any.whl\pip\req\req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "d:\python\python36_64\lib\site-packages\virtualenv_support\pip-9.0.3-py2.py3-none-any.whl\pip\index.py", line 465, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "d:\python\python36_64\lib\site-packages\virtualenv_support\pip-9.0.3-py2.py3-none-any.whl\pip\index.py", line 386, in find_all_candidates
    self.find_links, expand_dir=True)
  File "d:\python\python36_64\lib\site-packages\virtualenv_support\pip-9.0.3-py2.py3-none-any.whl\pip\index.py", line 236, in _sort_locations
    sort_path(os.path.join(path, item))
  File "d:\python\python36_64\lib\site-packages\virtualenv_support\pip-9.0.3-py2.py3-none-any.whl\pip\index.py", line 217, in sort_path
    if mimetypes.guess_type(url, strict=False)[0] == 'text/html':
  File "D:\Python\python27_64\Lib\mimetypes.py", line 297, in guess_type
    init()
  File "D:\Python\python27_64\Lib\mimetypes.py", line 358, in init
    db.read_windows_registry()
  File "D:\Python\python27_64\Lib\mimetypes.py", line 258, in read_windows_registry
    for subkeyname in enum_types(hkcr):
  File "D:\Python\python27_64\Lib\mimetypes.py", line 249, in enum_types
    ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb9 in position 0: ordinal not in range(128)

在網上搜索到的解決方法如下:

1. 這是Python 2 mimetypes的bug

2. 需要將Python2.7\lib\mimetypes.py檔案中如下片段註釋或刪除:


try:

    ctype = ctype.encode(default_encoding) # omit in 3.x!

except UnicodeEncodeError:

    pass

成功解決!