【发布时间】:2010-11-12 11:50:34
【问题描述】:
我最近在 Django (Python) 中导入时遇到了一些问题……最好用文件图来解释:
- project/
- application/
- file.py
- application2/
- file2.py
在project/application/file.py 我有以下内容:
def test_method():
return "Working"
问题出现在project/application2/file2.py,当我尝试从上面导入方法时:
from application.file import test_method
通常有效,但有时无效。
from project.application.file import test_method
确实有效,但它违反了 Django 的可移植性准则,因为项目文件夹必须始终使用相同的名称。
我不介意,但事实上这个问题的发生不一致,大多数时候省略project 是好的,但偶尔不是(据我所知,没有任何理由)。
我几乎可以保证我在做一些愚蠢的事情,但是有人经历过吗?将project 放在所有相关导入之前以保持一致会更好吗?老实说,project 文件夹名称不太可能改变,我只是希望尽可能遵守指导方针。
【问题讨论】:
-
请包括 PYTHONPATH 设置,从它工作的时间和不工作的时间开始。