首页 > 解决方案 > 如何从子目录中的 .py 文件导入类?

问题描述

我有一个文件夹如下:

文件夹结构

message.py文件有一个Message我想导入segments.py的类,类似的文件有一个Segment我想导入的类。

当我做:

from pydifact.message import Message
from pydifact.segments import Segment

我收到以下错误:

Traceback (most recent call last):

  File "<ipython-input-1-cc598c8ad3ca>", line 1, in <module>
    from pydifact.message import Message

ModuleNotFoundError: No module named 'pydifact.message'

但是当我添加:

import sys
sys.path.insert(0, r"C:\Users\Desktop\automatic-mscons-invoice-generator\edilite\pydifact")

from pydifact.message import Message
from pydifact.segments import Segment

它工作正常。

有没有一种方法可以直接进行导入而无需添加sys.path.insert

我的工作目录是:

C:\Users\Desktop\automatic-mscons-invoice-generator

标签: pythonpython-3.x

解决方案


正如您所提到的,添加到sys.path手动解决了这个问题。

尝试将该路径添加到PYTHONPATH环境变量中,这会告诉解释器哪些脚本可用于importing。


推荐阅读