Python:导入错误消息 - Django

时间:2012-09-28 20:28:31

标签: python django python-import

我是python和django的新手,所以我正在运行代码,我收到了一条错误消息:

File "/home/mbenchoufi/brisket/../brisket/views.py", line 11, in <module>
from influence.forms import SearchForm
ImportError: No module named forms

一个非常奇怪的事情是我在influence文件夹中有一个名为forms.py的文件,在这个文件中我有一个名为SearchForm的类。

这是print sys.path infos

['/home/mbenchoufi/brisket', '/home/mbenchoufi/src/ckanclient', '/home/mbenchoufi/src/vdm', '/home/mbenchoufi/brisket/src/mediasync', '/home/mbenchoufi/brisket/src/transparencydata', '/home/mbenchoufi/brisket/src/simplepay', '/home/mbenchoufi/brisket/src/feedinator', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
['/home/mbenchoufi/brisket', '/home/mbenchoufi/src/ckanclient', '/home/mbenchoufi/src/vdm', '/home/mbenchoufi/brisket/src/mediasync', '/home/mbenchoufi/brisket/src/transparencydata', '/home/mbenchoufi/brisket/src/simplepay', '/home/mbenchoufi/brisket/src/feedinator', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']

3 个答案:

答案 0 :(得分:0)

  1. 您应该尝试将PYTHONPATH ='/ path /导出到/ your / influence / folder'(或类似的东西,具体取决于您使用的shell)

  2. 在交互式ipython中尝试这些内容 - 如果你在那里工作,那么很容易让它在代码中运行。如果您是初学者,这通常是最好的方法。

答案 1 :(得分:0)

您的项目结构不符合Django 1.4 docs。您的manage.py文件应该高于设置和网址的一个级别。请检查一下。

答案 2 :(得分:0)

必须确保influence在您的sys.path中。

这样就可以导入influence

并且,在文件夹influence中,必须一个名为__init__.py的文件

将make influence作为一个包。

在views.py中添加以下代码

import sys
influence_path = FIND_OUT_INFLUENCE_PATH
sys.path.append(influence_path)

from influence_path.foo import bar
...

当你在shell中导入时。如错误所示。

必须设置DJANGO_SETTINGS_MODULE


如果你仍然困惑,

在shell中,cd你的项目路径,并运行tree命令,

然后发布您的项目文件夹树