简体   繁体   English

Python 包内导入失败

[英]Python intra-package imports failing

This is my project structure这是我的项目结构

|--project/
    |--__init__.py
    |--package1/
        |--__init__.py
        |--module1.py
    |--package2/
        |--__init__.py
        |--module2.py

In module1.py I do from project.package2 import module2module1.py我做from project.package2 import module2

The output: ModuleNotFoundError: No module named project output: ModuleNotFoundError: No module named project

Relative imports don't work either.相对导入也不起作用。

I am using Python 3.8 on Ubuntu 20 and have tried with or without __init__ files.我在 Ubuntu 20 上使用 Python 3.8 并尝试使用或不使用__init__文件。

Any ideas why the way the official docs explain how to do imports doesn't work?任何想法为什么官方文档解释如何进行导入的方式不起作用?

So the problem was actually the sys.path所以问题实际上是sys.path

When importing a package the interpreter searches through the directories on sys.path list looking for it as per the documentation says.导入 package 时,解释器搜索 sys.path 列表中的目录,按照文档所述进行查找。

The solution to this problem is to add my package's path to my PYTHONPATH environment variable or append my path directly to sys.path此问题的解决方案是将我的包路径添加到我的PYTHONPATH环境变量或 append 我的路径直接添加到sys.path

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM