Hin*_*h4n 3 python python-import python-3.x
所以我有这个目录结构:
/pkg
/__init__.py
/script1.py
/dir1
/__init__.py
/file.json
/dir2
/__init__.py
/script2.py
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我有两个脚本文件,script1.py和script2.py,我想做的是从script2.py导入script1.py,所以我做了
import pkg.script1
Run Code Online (Sandbox Code Playgroud)
但它告诉我
ModuleNotFoundError: No module named 'pkg'
Run Code Online (Sandbox Code Playgroud)
港口并做了
from ... import script1
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误
ValueError: attempted relative import beyond top-level package
Run Code Online (Sandbox Code Playgroud)
有人知道吗?
如果没有看到你的命令行(重要的缺失信息),这只是一个猜测。你可以在这里看到我对此所做的一篇文章。
您可能正在运行python pkg/dir1/dir2/script2.py它将放在pkg/dir1/dir2python 路径上(而不是.您想要的那样)——这会导致您看到错误消息,因为您实际上不是该深度的包(并且没有可pkg导入的包)任何根sys.path)。您还会在 python 2 中看到同样的问题。
-m在调用模块脚本时,您几乎应该始终使用该方法。在你的情况下它会是python -m pkg.dir1.dir2.script2
| 归档时间: |
|
| 查看次数: |
1587 次 |
| 最近记录: |