Python - 未找到模块

新手上路,请多包涵

我是 Python 的初学者。在开始之前,这是我的 Python 文件夹结构

-project
----src
------model
--------order.py
------hello-world.py

src 我有一个名为 model order.py Python 文件,其内容如下:

 class SellOrder(object):
    def __init__(self,genericName,brandName):
        self.genericName = genericName
        self.brandName = brandName

接下来我的 hello-world.pysrc 文件夹内,比 order.py 高一级:

 import model.order.SellOrder

order = SellOrder("Test","Test")

print order.brandName

每当我运行 python hello-world.py 时都会导致错误

Traceback (most recent call last):
  File "hello-world.py", line 1, in <module>
    import model.order.SellOrder
ImportError: No module named model.order.SellOrder

有什么我错过的吗?

原文由 user962206 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 424
2 个回答

Python 中的所有模块都必须具有一定的目录结构。 您可以在此处找到详细信息。

model 目录下创建一个名为 __init__.py 的空文件,这样您的目录结构将如下所示:

 .
└── project
    └── src
        ├── hello-world.py
        └── model
            ├── __init__.py
            └── order.py

同样在您的 hello-world.py 文件中将导入语句更改为以下内容:

 from model.order import SellOrder

那应该解决它

PS:如果您将 model 目录放在其他位置(不在同一目录分支中),则必须使用 sys.path 修改 python 路径。

原文由 RafazZ 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果它是您的根模块,只需将它添加到 PYTHONPATH (PyCharm 通常这样做)

 export PYTHONPATH=$PYTHONPATH:<root module path>

对于码头工人:

 ENV PYTHONPATH="${PYTHONPATH}:<root module path in container>"

原文由 Sergey Luchko 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题