这是我的目录设置:
mydir
├── script1.py
└── shared
├── otherstuff
├── script2.py
└── pkg
├── box.py
└── __init__.py
script2.py
以
import pkg
它很有效。当我在script1.py
中包含相同的行时,我得到:
Traceback (most recent call last):
File "script1.py", line 1, in <module>
import pkg
有没有什么好方法可以让script1.py
中的语法变得简单?我过去一小时一直在阅读关于PYTHONPATH
和sys.path
的内容,但我试图为我的回购提供一些基本功能,而且我无法相信它会需要每当我想运行脚本时修改PYTHONPATH
。
我在这里缺少什么?将pkg
加入script1.py
的最佳方法是什么?
答案 0 :(得分:0)
你必须这样做:
from shared import pkg
此外,您的shared
目录应该有一个__init__.py
文件
答案 1 :(得分:0)
我在python 3.x中测试过,你可以做任何一个 -
import shared.pkg
或
from shared import pkg
答案 2 :(得分:0)
如果您不想在depmixS4
中创建__init__.py
文件并使用shared
,则可以通过以下方式解决此问题:
import shared.pkg