[英]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 module2
在
module1.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.