我的文件夹结构是:
rottParser/
__init__.py
rottSyntax/
__init__.py
rottTests/
我试图导入rottSyntax
到rottParser
,在我的IDE(pycharm)它的工作原理,但在我的Python控制台事实并非如此。
错误是:
[ari@ari-manjaro rottParser]$ python3.9 __init__.py
Traceback (most recent call last):
File "/home/ari/Desktop/coding/python_/rott/rottParser/__init__.py", line 3, in <module>
from rottSyntax import *
ModuleNotFoundError: No module named 'rottSyntax'
如前所述,在 py IDE 中一切正常,
这是rottParser/__init__.py
:
import sys
from rottSyntax import *
parse_file = sys.argv
print(parse_file)
c = '.hello'
a = syntax['comment'].search(c)
print(a)
和rottSyntax/__init__.py
:
import re
syntax = {
"comment": re.compile(r'^\..+')
}
我尝试只导入它并使用 a .
,但没有任何效果,有人知道如何修复它吗?
执行脚本如下:
PYTHONPATH=.:$PYTHONPATH python rottParser/__init__.py
要么
cd rottParser
PYTHONPATH=..:$PYTHONPATH python __init__.py
附加路径sys.path
from rottParser/__init__.py
:
import sys
sys.path.append('/PATH/TO/rottParser/..') # parent directory
from rottSyntax import *
要使用的封装内引用,rottParser
并rottSyntax
应子包。
具有以下结构,
├ rott
│ ├ rottParser/
│ │ └ __init__.py
│ └ rottSyntax/
│ └ __init__.py
└ main.py
和 main.py
import rott.rottParser
您可以使用相对导入,例如 from rottParser/__init__.py
from ..rottSyntax import *
如果你想
from .rottSyntax import *
目录结构应该像
│ └ rottParser/
│ ├ __init__.py
│ └ rottSyntax/
│ └ __init__.py
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句