首页 > 解决方案 > 如何修复python中找不到的模块

问题描述

我有我的 target.py 文件,Starterpack/ModulesAndPackages/target.py 我有我的脚本文件Starterpack/Scripts/Bad.py

ModulesAndPackages的文件夹中有该文件,但是当我输入脚本文件时__init__.py仍然出现此错误。No module named ModulesAndPackagesfrom ModulesAndPackages.target import Target

我试过了sys.path.append()sys.path.insert()但没有奏效。在我的编辑器中没有错误,但是当我运行它时,它给出了错误。

脚本文件:

mandp_dir = "./ModulesAndPackages"
scripts_dir = "./Scripts"
main_dir = ".."

os.chdir(Path(main_dir))
from ModulesAndPackages.target import Target

目标.py 文件:

import time
import os
import keyboard

class Target():
    def __init__(self, ip, port, packetsize, time=None):
        self.ip = ip
        self.port = port
        self.packetsize = packetsize
        self.time = time

    def attack(self):
        pass

如果我添加了__init__.py文件,我希望它可以工作,但事实并非如此。

标签: pythonpython-3.x

解决方案


您可能想将目录添加到 python 搜索的路径中,而不是更改当前目录,例如:

scripts_dir = "./Scripts"
main_dir = ".."

sys.path.append(Path(main_dir))

另外,检查一下:python-best-way-to-add-to-sys-path-relative-to-the-current-running-script


推荐阅读