ModuleNotFoundError:即使在入侵sys.path()之后,也没有在python 3中命名模块

劳伦特

我有这个文件结构:

/home/test
         ├── dirA
         │   └── ClassA.py
         └── dirB
             └── Main.py

在文件中包含以下内容:

ClassA.py

class ClassA:
    def __str__(self):
        return 'Hi'

Main.py

from dirA.ClassA import ClassA

class Main:

    def main():
        a = ClassA()

if __name__ == '__main__':
    Main.main()

我将当前目录更改为:

$ cd /home/test/dirB

这有效:

$ PYTHONPATH=/home/test python Main.py

这不是:

$ python Main.py

Traceback (most recent call last):
  File "Main.py", line 1, in <module>
    from dirA.ClassA import ClassA
ModuleNotFoundError: No module named 'dirA'

在Main.py中添加以下行无效:

import os, sys
# Get the top level dir.
path = os.path.dirname(os.path.dirname(__file__)) 
sys.path.append(path)

仍然找不到该模块!有很多类似的问题,但是我不能以编程方式使它工作(跳过PYTHONPATHenv var。)我知道dirs不是模块,文件是但在PyCharm中可以工作(IDE是否正在修复PYTHONPATH?)

wer

sys.path在尝试加载可能依赖于更改路径的任何程序包之前,您需要确保已更改了自己的程序包-否则脚本在遇到和import声明语句时将失败换句话说,请确保您的Main.py开头为:

import os
import sys

path = os.path.join(os.path.dirname(__file__), os.pardir)
sys.path.append(path)

from dirA.ClassA import ClassA

为了确保最后一个import语句在更改后的路径上运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ModuleNotFoundError:即使在Pycharm中安装了pip请求之后,也没有名为“ requests”的模块

Python没有命名模块,即使该模块确实出现

如何在自己的包中使用自己的 Python 包?ModuleNotFoundError: 没有命名模块

Python 3:与脚本位于同一目录中的模块:“ ImportError:未命名模块”

ModuleNotFoundError:即使在“ pip3安装请求-html”和“ requests_html”之后,也没有名为“ requests_html”的模块

ModuleNotFoundError:即使在Windows PC中使用anaconda成功安装了opencv库之后,在Spyder IDE中也没有名为“ cv2”的模块

ModuleNotFoundError:从子目录导入时没有命名模块

无法加载Python包的子模块:ModuleNotFoundError:未命名模块

Python 3-ImportError:未命名模块

Pycharm引发:ModuleNotFoundError:即使安装了Numpy,也没有名为“ numpy”的模块错误

Keras没有模块命名模型

PyQt没有命名模块

Colab错误:ModuleNotFoundError:未命名模块

ModuleNotFoundError:即使存在 numpy,Flask 应用程序中也没有名为“numpy”的模块错误。

如何修复导入错误:VScode在python中没有命名模块...

模块中的函数首先被执行,并且打印语句即使在首先放置它们之后也没有被执行(在函数调用之前)

ModuleNotFoundError:即使安装并重新安装后,也没有名为“ bs4”的模块

在Google Cloud Function中访问用户定义的包(ModuleNotFoundError:未命名模块...)

Python3错误“ ImportError:未命名模块”具有__init__.py

即使在关闭 pylance 之后,括号也没有关闭

Python错误“ ImportError:未命名模块”

ImportError:未命名模块-Python

ImportError:未命名模块-Python

ImportError:未命名模块-python anaconda

用Python命名模块的间距

Python-ImportError:未命名模块

即使我没有收到任何错误,我在 VS Code 中的 Python 代码也没有运行

ModuleNotFoundError:即使在安装了webdrivermanager之后,没有名为“ webdriver_manager”的模块错误

导入错误:“没有命名模块” *存在*