python 调用自己写的包下的模块 提示ModuleNotFoundError

import 自己写的两个模块 PPT 和easy_excel 模块,在主程序文件夹Process_Log_Compare.py同级目录下建立两个包GUI 和PPT 下面分别放自己写的程序PPT_Function, 和easy_excel,会产生如下报错,PPT 包里面加了__init__.py 文件呀
File "<ipython-input-5-6df0135e0b3e>", line 1, in <module>

import PPT.PPT_Function as PPT

ModuleNotFoundError: No module named 'PPT.PPT_Function'

import os,datetime,time

import pandas as pd

import numpy as np

import sys

sys.path.append(r"C:\Users\202912\Downloads\ESDX\Wuxi\Process-Log-Compare\ProcessLogComp") #把被引用模块所在的目录添加到 sys.path 中

import PPT.PPT_Function as PPT

import GUI.easy_excel as EE

python 调用自己写的包下的模块 提示ModuleNotFoundError
python 调用自己写的包下的模块 提示ModuleNotFoundError
python 调用自己写的包下的模块 提示ModuleNotFoundError
python 调用自己写的包下的模块 提示ModuleNotFoundError


回答:

Python 的模块机制稍微有点复杂的,直接告诉你怎么改:

  1. sys.path.append 这行不需要,因为 sys.path 中会有当前目录(可以自己打印下,列表里会有 ''
  2. 刷新一下发现你又改了目录结构,import 后面需要跟模块,而你的 PPT_Function 只是模块里的一个方法,改为 from PPT import PPT_Function as PPT 就好了
  3. 将取决于你在 __init__.py 是否添加了东西。如果项目 PPT 不准备添加其他文件的话,改回 2,否则用 from PPT.Time_Tick_PPT PPT_Function sth as PPT 这种语法,根据 __init__.py 可以简化。

以上是 python 调用自己写的包下的模块 提示ModuleNotFoundError 的全部内容, 来源链接: utcz.com/p/938211.html

回到顶部