File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/Library/Python/2.7/site-packages/dj_static.py", line 83, in __call__
return self.application(environ, start_response)
File "/Library/Python/2.7/site-packages/django/core/handlers/wsgi.py", line 255, in __call__
response = self.get_response(request)
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 178, in get_response
response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 220, in handle_uncaught_exception
if resolver.urlconf_module is None:
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py", line 342, in urlconf_module
self._urlconf_module = import_module(self.urlconf_name)
File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/WillRedington/Desktop/Django Projects/propadev/propvocab/urls.py", line 3, in <module>
from rest_framework import routers
File "/Library/Python/2.7/site-packages/rest_framework/routers.py", line 23, in <module>
from rest_framework import views
File "/Library/Python/2.7/site-packages/rest_framework/views.py", line 11, in <module>
from rest_framework.compat import HttpResponseBase, View
File "/Library/Python/2.7/site-packages/rest_framework/compat.py", line 13, in <module>
from django.utils.six.moves.urllib import parse as urlparse
ImportError: No module named urllib
服务器错误消息:[17 / Dec / 2014 16:26:45]&#34; GET / HTTP / 1.1&#34; 500 59
这是检查python是否返回模块:
>>> import django.utils.six.moves
>>> import django.utils.six.moves.urllib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named urllib
>>>
我目前的python版本是2.7.2,Django是1.5.1,rest框架是2.7 site-package。 我已经尝试多次卸载并重新安装Django并得到相同的错误。 这是在Mac OS X 10.9.5上运行的,请帮助我,我已经在这5个小时了。
答案 0 :(得分:3)
它似乎是一个依赖错误。也许你降级了你的django,或随机安装了其余的框架包而没有控制依赖关系。
django.utils.six.moves.urllib还没有存在于django == 1.5.1中。例如,您可以尝试将django升级到1.5.7。然后这个导入将工作。其他事情可能仍然会被打破,我不能从这里说出来。如果您在此处发布pip freeze的输出,则可能更容易提供帮助。
您不在虚拟环境中工作,这对依赖项很危险。最好是制作一个virtualenv,然后用pip安装你的包,处理依赖。 然后运行:
pip freeze > requirements.txt
并在将来使用该文件,如下所示:
pip install -r requirements.txt
并在安装,更新或删除软件包时相应地编辑文件。
可能感兴趣的是:它通常无法卸载并重新安装相同的包多次;如果它不起作用,它也不会第二次工作。
答案 1 :(得分:1)
正如之前提到的那样,我的回答并不是真正的答案。我通过安装python虚拟环境解决了这个错误,可能还有更多。为此,请运行以下
sudo pip install virtualenv
然后为您的虚拟环境创建一个新文件夹。 cd进入创建的文件夹。
cd myvirtualenv
然后运行以下命令创建一个新的虚拟环境:
virtualenv venv
运行虚拟环境:
source venv/bin/activate
这使得它拥有自己的站点包,这对任何python开发人员都是必不可少的,特别是在处理多个项目时。