让我们说你有这种结构:
tools/
- __init__.py
- kill_all_mosquitos.py
- animal_finder.py
在kill_all_mosquitos.py
我在顶部有这个:
import animal_finder
如果我从同一目录中调用kill_all_mosquitos.py
,则可以正常工作。但是,如果我从另一个目录中调用它,它就赢了。
解决方案是使用import .animal_finder
,但您无法再从同一目录中调用它。
因此,人们似乎做的解决方案是做sys.path.append(os.path.dirname(os.path.abspath(__file__)))
但是这会将所有相关脚本添加到某些全局导入中。
另外,我很想做:
try:
import animal_finder
except ImportError:
import .animal_finder
但还有比这更好的东西吗?