【发布时间】:2020-02-19 23:53:12
【问题描述】:
我的 Django 项目具有以下文件夹结构,其中 controllers 是我保存所有自定义 .py 文件的位置:
C:.
│ db.sqlite3
│ manage.py
│
├───myApp
│ │ admin.py
│ │ apps.py
│ │ forms.py
│ │ models.py
│ │ tests.py
│ │ urls.py
│ │ views.py
│ │ widgets.py
│ │ __init__.py
│ │
│ ├───controllers
│ │ │ helpers.py
│ │ │ function.py
│ │ │ __init__.py
│ │ │
在controllers/function.py里面我要导入文件helpers.py。
场景 1: 如果我输入 from .helpers import foo 并在 Django 中运行它,那么我可以导入 helpers.py,但如果我在 Spyder 中运行同样的导入,我会得到:@987654327 @
场景 2: 如果我输入 from helpers import foo(不带“点”)并在 Django 中运行它,我会得到:ModuleNotFoundError: No module named 'helpers' 但它在 Spyder 中有效!
我在这里缺少路径(或相对路径)。我需要能够拥有一个在 Django 和 Spyder 中工作的 python 脚本,而不必在任何地方删除 .。
【问题讨论】:
-
我在两个应用程序中都运行 python3
print(sys.version) 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] -
"如果我在 Spyder 中运行同样的导入" => 你的意思是在 spyder 的集成 python shell 中吗?
-
@brunodesthuilliers 正确