gpt4 book ai didi

python - 导入正确的模块但在 python 中出现错误

转载 作者:行者123 更新时间:2023-12-01 01:00:31 26 4
gpt4 key购买 nike

import sys
from subprocess import run, PIPE
import shlex
from src.detector_main import detect_main

def main():
# print command line arguments
for arg in sys.argv[1:]:
print(arg)

if __name__ == "__main__":
# main()
print(sys.argv)

这是我的主要模块。如果您看到 from src.detector_main import detector_main,则应该从 src/detector_main.py 导入 detect_main

在我的 detector_main.py 中,我有一堆导入,

import ast
import os
import fpdf
import sys
from Detector.class_coupling_detector import detect_class_cohesion
from Detector.cyclomatic_complexity_detector import detect_cyclomatic_complexity
from Detector.long_lambda_detector import detect_long_lambda
from Detector.long_list_comp_detector import detect_long_list_comp
from Detector.pylint_output_detector import detect_pylint_output
from Detector.shotgun_surgery_detector import detect_shotgun_surgery
from Detector.useless_exception_detector import detect_useless_exception
# from tools.viz_generator import add_viz

def detect_main(directory):
# Get stats for files in directory
stats_dict = get_stats(directory)
....

运行我的主模块会出现此错误:

File "pyscent.py", line 5, in <module>
from src.detector_main import detect_main
File "C:\Users\user\Desktop\proj\src\detector_main.py", line 5, in <module>
from Detector.class_coupling_detector import detect_class_cohesion
ModuleNotFoundError: No module named 'Detector'

我不明白这一点,因为我正在遵循确切的路径。

enter image description here

我不明白这一点,因为我走的是正确的道路。

最佳答案

在您的示例中,您将 Detector.class_coupling_detector 模块导入到与 Detector 位于同一目录中的文件中,但您的 cwd 不是 src目录。

因此,您应该使用绝对导入 from src.Detector... 或相对导入 from .Detector...

Here这是有关这两种导入方式之间差异的一些信息

关于python - 导入正确的模块但在 python 中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55838675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com