0

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

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

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

这是打印 sys.path 信息

['/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']
4

3 回答 3

0

您的项目结构不遵循Django 1.4 文档。您的 manage.py 文件应该比设置和 url 高一级。请检查一下。

于 2012-09-29T15:44:06.457 回答
0

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

以便,influence就可以导入了。

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

为使influence作为一个包

在您的views.py中添加以下代码

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

from influence_path.foo import bar
...

当您在外壳中时,请执行导入。如错误所示。

必须设置DJANGO_SETTINGS_MODULE,


如果你还是一头雾水,

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

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

于 2012-09-29T15:44:51.433 回答
0
  1. 您应该尝试 export PYTHONPATH='/path/to/your/influence/folder' (或类似的东西,具体取决于您使用的外壳)

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

于 2012-09-28T21:21:19.210 回答