1、进入到虚拟环境workon 虚拟环境名, 输入pip list
(django_py3_1.11) python@ubuntu:~$ pip list
看到pip安装列表, 有django-filters 0.2.1, 看着没啥问题
2、手动进入到虚拟环境的site-packages目录:
cd ~/.virtualenvs/django_py3_1.11/lib/python3.5/site-packages/
上面的'‘django_py3_1.11''是我自己的虚拟环境名, 要改成自己的; 同样'python3.5'也需要根据自己的python版本修改.
3、输入ll 命令查看目录所有文件
.../site-packages$ ll
发现只有'‘django_filters-0.2.1.dist-info'‘目录,并没有'‘django_filters'', 而导入包的时候是需要找'‘django_filters'', 证明包是有问题的
4、我注意到django-filter有更多的开发,https://github.com/alex/django-filter 页面上升到v2.0.0,但是pip安装的是0.2.1, 我们应该以另一种方式只能装它.
阅读了README文档, 发现新版本的安装方式为:
pip install django-filter # 新版本安装后面不用s
5、卸载了原来的版本,再使用
pip install django-filter
安装了新版本, 然后问题就迎刃而解了, site-packages目录发生了变化
出现了django_filters目录,这样导包就不会有问题了
完结~
补充知识:Django项目执行时No Module Named ' ' 问题的解决情况
出现这种问题的情况大致都是因为该模块未安装,使用 pip install xxx 进行安装,即可解决此类问题。
出现ModuleNotFoundError: No module named 'rest_framework' 时,可以执行 pip install djangorestframework 命令进行安装。
出现ModuleNotFoundError: No module named 'pymysql' 时,执行 pip install pymysql 完成安装
出现ModuleNotFoundError: No module named 'import-export' 时,执行 pip install django-import-export 完成安装
以上这篇解决导入django_filters不成功问题No module named 'django_filter'就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。