在python上安装Flask

时间:2015-10-28 23:00:32

标签: python python-2.7 flask virtualenv

我正在尝试安装Flask,我收到此错误:

 C:\Users\Eirik\myproject>venv\scripts\activate
(venv) C:\Users\Eirik\myproject>pip install flask
Collecting flask
Exception:
Traceback (most recent call last):
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\basecommand.py", line 211, in main
    status = self.run(options, args)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\commands\install.py", line 305, in run
    wb.build(autobuilding=True)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\wheel.py", line 705, in build
    self.requirement_set.prepare_files(self.finder)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\req\req_set.py", line 334, in prepare_files
    functools.partial(self._prepare_file, finder))
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\req\req_set.py", line 321, in _walk_req_to_install
    more_reqs = handler(req_to_install)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\req\req_set.py", line 461, in _prepare_file
    req_to_install.populate_link(finder, self.upgrade)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\req\req_install.py", line 250, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\index.py", line 486, in find_requirement
    all_versions = self._find_all_versions(req.name)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\index.py", line 404, in _find_all_versions
    index_locations = self._get_index_urls_locations(project_name)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\index.py", line 378, in _get_index_urls_locations
    page = self._get_page(main_index_url)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\index.py", line 818, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\index.py", line 928, in get_page
    "Cache-Control": "max-age=600",
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 477, in get
    return self.request('GET', url, **kwargs)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\download.py", line 373, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\requests\sessions.py", line 605, in send
    r.content
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\requests\models.py", line 750, in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\requests\models.py", line 673, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\requests\packages\urllib3\response.py", line 307, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\requests\packages\urllib3\response.py", line 243, in read
    data = self._fp.read(amt)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 54, in read
    self.__callback(self.__buf.getvalue())
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\cachecontrol\controller.py", line 244, in cache_response
    self.serializer.dumps(request, response, body=body),
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\download.py", line 276, in set
    return super(SafeFileCache, self).set(*args, **kwargs)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\cachecontrol\caches\file_cache.py", line 99, in set
    with self.lock_class(name) as lock:
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\lockfile\mkdirlockfile.py", line 18, in __init__
    LockBase.__init__(self, path, threaded, timeout)
  File "c:\users\eirik\myproject\venv\lib\site-packages\pip\_vendor\lockfile\__init__.py", line 189, in __init__
    hash(self.path)))
  File "c:\users\eirik\myproject\venv\lib\ntpath.py", line 85, in join
    result_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 13: ordinal not in range(128)

我怀疑错误可能是由某些特殊字符或类似的东西引起的,但不确定是什么。我找不到任何可能造成这种情况的事情,因为我对此非常缺乏经验。

安装Python很好,然后我安装了virtualenv(easy_tools或它再次调用它)我得到了一切工作,甚至激活了virtualenv,但是当我尝试按照提到的安装Flask时我得到了这个错误。

2 个答案:

答案 0 :(得分:1)

这是python问题,因为Python 3具有默认的UTF-8编码,而不是早期版本的情况....试试这个来解决

在python目录中搜索mimetypes.py,它将位于Python的Lib文件夹中 打开它,找到以下行

  try:
  ctype = ctype.encode(default_encoding) # omit in 3.x!
  except UnicodeEncodeError:
  pass                                                                                   and change it to
  try:
  ctype = ctype.encode(default_encoding) # omit in 3.x!
  except UnicodeDecodeError:
  print ctype   

希望这可能已经解决了问题......并尝试使用Python 3

答案 1 :(得分:0)

我找到了解决方案!因为我住在斯堪的纳维亚半岛,我们有一些特殊的字母,如“æ,ø,å” - 这就是造成这个问题的原因。为了让“Virtualenv”工作,我不得不将我的用户名(以及我在C:\ Users下的用户文件夹)更改为没有这些字母的内容。然后我设法安装了Virtualenv。

但是,我在尝试安装烧瓶时遇到了同样的错误,因为这篇文章的内容是:我发现我的电脑名称导致了问题。它还包含特殊字母,但我在昨晚深夜更改了它并忘记重新启动计算机以使更改生效 - 我现在重新启动后(我总是让我的电脑从我的平板电脑上睡觉并以相同的方式唤醒它)它的工作原理

所以我猜这是10个小时的谷歌和论坛发布的一切。

无论如何,解决方案是在您的用户名或计算机名称中没有任何特殊字母。

感谢你们给我的所有帮助!现在进行任务!