解决 CMD中 ModuleNotFoundError: No module named xxx 的问题

出现的原因

​ python没找到导入的包,有可能是没下载或者是导入的路径不对,我们这里主要谈论导入的路径问题

举个例子

项目结构
在这里插入图片描述

文件内容如下:

# file_path.py的内容

WORDS = "hello,python"

# test.py的内容

from config.file_path import WORDS
print(WORDS)

​ 很简单,就是test.py调用file_path.py里的WORDS变量.在pycharm中运行没问题.但是在CMD中执行就会报ModuleNotFoundError: No module named ‘config’ 的错误,如下所示:

(test) liaoguoxiong@lgxdeMacBook-Pro solve_import_question % python data/test.py 
Traceback (most recent call last):
  File "data/test.py", line 8, in <module>
    from config.file_path import WORDS
ModuleNotFoundError: No module named 'config'

# 报错的意思就是没找到config目录,也就无法导入file_path 

​ 为什么pycharm中可以找到,cmd中就找不到呢? 是因为pycharm把项目路径加入了python搜索路径.而CMD中没有.

解决办法

​ 那办法就出来了,我们在test.py文件中把项目路径加入python搜索路径就可以找到config目录了.如下所示:

import os
import sys
# 找到当前文件的决定路径,__file__ 表示当前文件,也就是test.py
file_path = os.path.abspath(__file__)
print(file_path)
# 获取当前文件所在的目录
cur_path = os.path.dirname(file_path)
print(cur_path)
# 获取项目所在路径
project_path = os.path.dirname(cur_path)
print(project_path)
# 把项目路径加入python搜索路径
sys.path.append(project_path)
from config.file_path import WORDS
print(WORDS)

# 输出,已经可以调用了

/Users/liaoguoxiong/Desktop/python_project/solve_import_question/data/test.py
/Users/liaoguoxiong/Desktop/python_project/solve_import_question/data
/Users/liaoguoxiong/Desktop/python_project/solve_import_question
hello,python

:如果要执行的文件所在的目录层数比较多的话,办法也是一样的,多分解几次路径就行了.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值