2015-07-10 87 views
0

我試圖導入Flask時面臨下面的錯誤。張貼類似的問題有問題與WERKZEUG版本Flask(本地路徑中的urllib)導入錯誤

from urllib.request import parse_http_list as _parse_list_header 
ImportError: No module named request 

File "init__.py", line 25, in <module> 
    from flask import Flask 
File "user/anaconda/lib/python2.7/site-packages/flask/__init__.py", line 17, 
in <module> 
    from werkzeug.exceptions import abort 
File "user/anaconda/lib/python2.7/site-packages/werkzeug/__init__.py", line  
154, in <module> 
    __import__('werkzeug.exceptions') 
File "user/anaconda/lib/python2.7/site-packages/werkzeug/exceptions.py", line 
71, in <module> 
    from werkzeug.wrappers import Response 
File "user/anaconda/lib/python2.7/site-packages/werkzeug/wrappers.py", line 
26, in <module> 
    from werkzeug.http import HTTP_STATUS_CODES, \ 
File "user/anaconda/lib/python2.7/site-packages/werkzeug/http.py", line 28, in 
<module> 
    from urllib.request import parse_http_list as _parse_list_header 
ImportError: No module named request' 
  1. WERKZEUG版本(我試着用10.1,10.4)仍然是錯誤仍然存​​在。

  2. 有人指出,可能存在的urllib2的本地副本..我 想通了,就在我 本地路徑.. /Library/Frameworks/Python.framework/Versions/既urllib而確實的urllib2 2.7/lib/python2.7

現在我不知道如何繼續,應該卸載urllib/urllib2嗎?

編輯:在Tried to use relative imports, and broke my import paths?中列出的解決方案不適合我。在這種情況下,我想進口的urllib2到我的瓶項目,並打印出的文件路徑,但拋出下列例外

File "/user/__init__.py", line 25, in <module> 
    import urllib2 
File "/user/anaconda/lib/python2.7/urllib2.py", line 94, in <module> 
    import httplib 
File "/user/anaconda/lib/python2.7/httplib.py", line 80, in <module> 
    import mimetools 
File "/user/anaconda/lib/python2.7/mimetools.py", line 6, in <module> 
    import tempfile 
File "/user/anaconda/lib/python2.7/tempfile.py", line 32, in <module> 
    import io as _io 
File "/user/anaconda/lib/python2.7/io.py", line 51, in <module> 
    import _io 

導入錯誤:dlopen的(/user/anaconda/lib/python2.7/lib-dynload /_io.so,2):找不到符號:__PyErr_ReplaceException 引用自:/user/anaconda/lib/python2.7/lib-dynload/_io.so 預期:動態查找

+0

http://stackoverflow.com/questions/17391289/tried-to-use-relative-imports-and-broke-my-import-paths可能是一個重複的問題 – TehTris

+0

該問題的答案沒有解決我的問題。所以我嘗試從我的燒瓶項目導入urllib2並打印文件路徑。理想情況下,它應該給我的文件路徑..但​​我再次得到導入錯誤 – bpt

+0

所以當你'從urllib2導入parse_http_list作爲_parse_list_header'時發生了什麼? – TehTris

回答

1

我有一個類似的問題,我按照solution的建議在from flask import Flask之前加上from urllib2 import parse_http_list as _parse_list_header,然後我得到這個錯誤信息:

"/Users/anaconda/lib/python2.7/io.py", line 51, in import _io 
ImportError: dlopen(/Users/anaconda/lib/python2.7/lib-dynload/_io.so, 2): 
Symbol not found: __PyCodecInfo_GetIncrementalDecoder 
Referenced from: /Users/anaconda/lib/python2.7/lib-dynload/_io.so 
Expected in: dynamic lookup 

然後我用以下解決solution

  1. 須藤查找/ -name _io.so
  2. 我換成/Users/anaconda/lib/python2.7/lib-dynload/_io 。所以用/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so

這對我的作品!