我是python的新手,也许这些问题对你们中的一些人来说很明显,但我到处寻找答案,我似乎无法找到它。
我正在尝试将“django-filter安装到我的网站,我能够成功地这样做。但是,当我将它添加到我的”已安装的应用程序“时,它会给我以下错误:”导入错误:否名为django_filters的模块“
根据我的研究,我认为它必须是兼容性问题,因此我将django降级为1.8.4,并将我的过滤器降级为0.11.0。
做pip冻结后> requirements.txt,似乎在requirements.txt中显示的一切都很好。我正在使用python 2.7。
我知道有一个类似的问题,如下所示: ImportError: No module named django_filters
但是这个线程的解决方案都没有奏效。
任何想法可能是什么问题?非常感谢提前。
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named django_filters
(bartering) localhost:src ayaspencer$ pip freeze
Django==1.8.4
django-crispy-forms==1.6.0
django-filter==0.11.0
django-localflavor==1.2
django-registration==2.0.4
django-registration-redux==1.4
httplib2==0.9.2
oauth2client==2.0.2
Pillow==3.2.0
pyasn1==0.1.9
pyasn1-modules==0.0.8
requests==2.9.1
rsa==3.4.2
six==1.10.0
South==1.0.2
stripe==1.32.1
这是我的INSTALLED_APPS
INSTALLED_APPS = (
#django app
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
#third party apps
'crispy_forms',
'localflavor',
'registration',
'django_filters',
答案 0 :(得分:3)
几乎可以肯定的是,您在与运行pip freeze
的不同python环境中运行服务器。
执行以下操作以在命令行上调试默认环境:
pip --version
python --version
python -c "import sys; print(sys.path)"
然后将以下代码添加到settings.py
并重新运行您的服务器,以获取有关您正在运行的环境的类似信息:
import sys
print(sys.version)
print(sys.path)
您会发现两个sys.path
是不同的,您需要修改一些内容以确保它们相同。此外,如果版本不同,那么您的环境问题就更糟了!
作为一般性提示,如果你认真使用python,你需要学习如何使用virtual environments(它并不难),并养成使用它们的习惯时间!