解决Python模块导入出现ModuleNotFoundError: No module named ‘***’的问题

Python的模块非常多,在安装这些模块的时候,由于安装方法的不同(pip、easyinstall),在python加载这些包时,出现ModuleNotFoundError: No module named ‘***’的问题。
那么如何解决这些问题呢?
首先,这个错误是因为Python环境不知道你的模块在哪儿,或者说在Python的默认加载位置没有你的模块。明白这个道理,这个错误就很好解决。
我们拿使用easy_install安装Django模块后出现ModuleNotFoundError: No module named ‘Django’为例,来说明如何处理该类错误。
1、首先确定模块安装的位置

pip show django
Name: Django
Version: 3.2.8
Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Home-page: https://www.djangoproject.com/
Author: Django Software Foundation
Author-email: foundation@djangoproject.com
License: BSD-3-Clause
Location: /usr/local/lib/python3.6/site-packages
Requires: sqlparse, asgiref, pytz

从Location可以看出包的安装位置是 /usr/local/lib/python3.6/site-packages

2、确定Python默认读取模块的位置
进入Python运行环境

import sys
print(sys.path)
[’’, ‘/usr/lib64/python36.zip’, ‘/usr/lib64/python3.6’, ‘/usr/lib64/python3.6/lib-dynload’, ‘/usr/lib64/python3.6/site-packages’, ‘/usr/lib/python3.6/site-packages’]

我们可以看到默认的位置中没有Django的安装目录 /usr/local/lib/python3.6/site-packages

3、将模块的安装目录加入Python的运行环境

PYTHONPATH="/usr/local/lib/python3.6/site-packages"
export PYTHONPATH

再次进入Python环境

import sys
print(sys.path)
[’’, ‘/usr/lib64/python36.zip’, ‘/usr/lib64/python3.6’, ‘/usr/lib64/python3.6/lib-dynload’, ‘/usr/lib64/python3.6/site-packages’, ‘/usr/lib/python3.6/site-packages’,’/usr/local/lib/python3.6/site-packages‘]

现在Python的运行环境就有了django的安装目录,运行就不会再报错。
当然我们也可以在安装django 时,将其安装到Python的运行环境所在的目录。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值