ImportError: No module named lop.models
ImportError: No module named lop.models
我知道有很多与此相关的问题,但这些答案似乎不适合我的情况。我是 Django 的新手(我已经完成了教程),但我正在修复我无法再联系的其他人的代码。
我是 运行 Debian 上的 django 1.5 和 python 2.7。
我收到此错误。
File "views-full.py", line 1, in <module>
from lop.models import File, V1, V2
ImportError: No module named lop.models.
观看次数-full.py:
from lop.models import File, V1, V2
...
我的树是这样的(为了节省时间,我的views-full.py被lop了):
Main
├── Main
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── manage.py
├── lop
│ ├── admin.py
│ ├── admin.pyc
│ ├── forms.py
│ ├── forms.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── migrations
│ │ ├── 0001_migrate.py
│ │ ├── 0001_migrate.pyc
│ │ ├── 0002_migrate.py
│ │ ├── 0002_migrate.pyc
│ │ ├── 0003_auto__add_category.py
│ │ ├── 0003_auto__add_category.pyc
│ │ ├── 0004_auto__add_field_script_category.py
│ │ ├── 0004_auto__add_field_script_category.pyc
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── tests.py
│ ├── urls.py
│ ├── urls.pyc
│ ├── views
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── viewsb.py
│ │ ├── viewsb.pyc
│ │ └── viewsb.py.save
│ ├── views-full.py
│ ├── views.pyc
│ ├── views.py.save
│ └── views-test.py
├── scripts [39 entries exceeds filelimit, not opening dir]
├── sqlite3.db
├── static [29 entries exceeds filelimit, not opening dir]
├── templates
│ ├── entry2-full.html
│ ├── entry2.html
│ ├── entry3-full.html
│ ├── entry3.html
│ ├── entry.html
│ ├── index.html
│ ├── index.html.old
│ ├── scriptlist.html
│ └── testData.html
└── user-dirs [109 entries exceeds filelimit, not opening dir]
如您所见,我的 __init__.py
和 models.py
都在同一个文件夹中(我知道在其他情况下它们不存在就是问题所在)。
settings.py:
...
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
# 'django.contrib.admindocs',
'lop',
'south',
)
...
我觉得我犯了一些菜鸟错误,但我想不通。
我不熟悉 django,但在这种情况下我是这样做的:
import sys
sys.path.append('/path/of/folder/where/module/is/')
from new_module import new_function
所以我弄清楚了问题是我的失误。
很长一段时间以来,我认为要测试任何编译错误(语法),我会在 shell 上 运行 "python < filename > migrate" 或 "python < filename > makemigrations"。我的信念是所有更改都需要迁移,而不仅仅是数据库中的更改。当语法错误包括这个错误时,我会收到错误消息,它以前在其他情况下也有效。最终有人向我指出这不是你测试它的方式,运行ning "python manage.py runserver 0.0.0.0:8000" 会指出你本地机器代码中的任何错误。之后我的特定文件没有收到任何错误消息。
Gabriel L'Heureux,我仍然感谢你的帮助(我会给你一个分数,但我没有足够的分数)所以我感谢你。
我知道有很多与此相关的问题,但这些答案似乎不适合我的情况。我是 Django 的新手(我已经完成了教程),但我正在修复我无法再联系的其他人的代码。
我是 运行 Debian 上的 django 1.5 和 python 2.7。 我收到此错误。
File "views-full.py", line 1, in <module>
from lop.models import File, V1, V2
ImportError: No module named lop.models.
观看次数-full.py:
from lop.models import File, V1, V2
...
我的树是这样的(为了节省时间,我的views-full.py被lop了):
Main
├── Main
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── manage.py
├── lop
│ ├── admin.py
│ ├── admin.pyc
│ ├── forms.py
│ ├── forms.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── migrations
│ │ ├── 0001_migrate.py
│ │ ├── 0001_migrate.pyc
│ │ ├── 0002_migrate.py
│ │ ├── 0002_migrate.pyc
│ │ ├── 0003_auto__add_category.py
│ │ ├── 0003_auto__add_category.pyc
│ │ ├── 0004_auto__add_field_script_category.py
│ │ ├── 0004_auto__add_field_script_category.pyc
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── tests.py
│ ├── urls.py
│ ├── urls.pyc
│ ├── views
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── viewsb.py
│ │ ├── viewsb.pyc
│ │ └── viewsb.py.save
│ ├── views-full.py
│ ├── views.pyc
│ ├── views.py.save
│ └── views-test.py
├── scripts [39 entries exceeds filelimit, not opening dir]
├── sqlite3.db
├── static [29 entries exceeds filelimit, not opening dir]
├── templates
│ ├── entry2-full.html
│ ├── entry2.html
│ ├── entry3-full.html
│ ├── entry3.html
│ ├── entry.html
│ ├── index.html
│ ├── index.html.old
│ ├── scriptlist.html
│ └── testData.html
└── user-dirs [109 entries exceeds filelimit, not opening dir]
如您所见,我的 __init__.py
和 models.py
都在同一个文件夹中(我知道在其他情况下它们不存在就是问题所在)。
settings.py:
...
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
# 'django.contrib.admindocs',
'lop',
'south',
)
...
我觉得我犯了一些菜鸟错误,但我想不通。
我不熟悉 django,但在这种情况下我是这样做的:
import sys
sys.path.append('/path/of/folder/where/module/is/')
from new_module import new_function
所以我弄清楚了问题是我的失误。
很长一段时间以来,我认为要测试任何编译错误(语法),我会在 shell 上 运行 "python < filename > migrate" 或 "python < filename > makemigrations"。我的信念是所有更改都需要迁移,而不仅仅是数据库中的更改。当语法错误包括这个错误时,我会收到错误消息,它以前在其他情况下也有效。最终有人向我指出这不是你测试它的方式,运行ning "python manage.py runserver 0.0.0.0:8000" 会指出你本地机器代码中的任何错误。之后我的特定文件没有收到任何错误消息。
Gabriel L'Heureux,我仍然感谢你的帮助(我会给你一个分数,但我没有足够的分数)所以我感谢你。