所以,我有一个类似于这样的项目:
./
./__init__.py
./main.py
./errorHandle.py
./functions.py
现在,在我的main.py中,我有:
import errorHandling
from functions import *
在errorHandle.py中:
from functions import sendMessage
def exceptionHandle(ex,errorCode):
def exceptionHandle(ex,errorCode):
print(ex)
extra = ""
status = 1
if errorCode == constants.ErrorCodes.aws:
constants.awsWorking = 0
if checkConnection() == True:
extra = "A network connection was detected but no connection to AWS was possible. Possibilities include an issue of authentication, renamed/incorrectly named shadow, or a duplicate client name. "
constants.errorsListDelayed[int(time.time())] = [ex,errorCode,extra,constants.TargetConnection.aws]
else:
extra = "No internet connection detected/Google DNS down. "
constants.errorsListDelayed[int(time.time())] = [ex,errorCode,extra,constants.TargetConnection.awsAndMail]
return
elif errorCode == constants.ErrorCodes.loadConfig:
extra = checkIniExists()
elif errorCode == constants.ErrorCodes.camera:
status, extra = checkCameraInitial()
elif errorCode == constants.ErrorCodes.loadImages:
extra= "Couldn't load images. "
else:
extra= "Unknown Error location"
if status == 1:
cv2.destroyAllWindows()
sendErrorMessage(ex,errorCode,extra)
uploadError(ex,errorCode)
(复印后缩进有点乱)
在我的函数中,我有很多函数,包括前面提到的sendMessage
现在,由于某种原因,虽然我能够导入errorHandle,但它没有任何函数,包括exceptionHandle函数show,但它正在导入,因为我可以这样做:
errorHandle.sendMessage(...)
而且它不会有任何实际问题
我也尝试过不同的导入,不同的错误或多或少导致了相同的想法。所以我试着:
from errorHandle import exceptionHandle
但这也不起作用
我也试过了
from errorHandle import *
它只加载了sendMessage,我尝试将errorHandle中的代码更改为*,它加载了所有functions.py文件,我尝试从errorHandle.py中删除整个导入函数,但没有任何更改
这里有点迷失了,因为它正在导入模块并识别它,而不是模块中的函数
编辑:
ImportError: cannot import name 'exceptionHandle' from 'errorHandling'
我已经确保了所有的名字都是正确的,也没有任何一个名字的函数存在,我还尝试了不同的名字,以确保它不是一个奇怪的错误,由于某个名字
在functions.py文件中是否有一个名为
errorHandle
的函数请看我的代码,它正在运行。请您提供一个minimal reproducible example以便可以复制错误/问题
相关问题 更多 >
编程相关推荐