Python + Django ImportError:无法将名称信号从Python2.5导入到Python2.7

时间:2010-10-08 18:43:30

标签: python django django-registration

我安装了django-registration。我刚刚将我的Python安装从2.5更新到2.7。

一切正常但是当我尝试运行我的Django应用程序时,我收到以下错误。

C:\django\pley>python manage.py runserver
Validating models...
Unhandled exception in thread started by <function inner_run at 0x02FA6830>
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.
py", line 48, in inner_run
    self.validate(display_num_errors=True)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 249,
 in validate
    num_errors = get_validation_errors(s, app)
  File "C:\Python27\lib\site-packages\django\core\management\validation.py", lin
e 28, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 146, in
 get_app_errors
    self._populate()
  File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 64, in
_populate
    self.load_app(app_name)
  File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 78, in
load_app
    models = import_module('.models', app_name)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\django\pley\..\pley\accounts\models.py", line 3, in <module>
    from registration import signals
ImportError: cannot import name signals

如果您需要更多详细信息,例如其他文件的代码,只需对此问题发表评论,以便我可以更新。

2 个答案:

答案 0 :(得分:1)

对我来说似乎没问题。当您解压缩django-registration时,您会收到2个文件夹docregistration。在registration文件夹中,您有一个名为signals.py的文件。这正是您的django应用程序尝试导入的文件。

要么看看你是否在项目settings.py中添加了django-registration为INSTALLED_APPS。

答案 1 :(得分:0)

好的,我将自己回答这个问题。感谢#django freenode的巴哈马。

首先转到你的Python shell

>>> import registration
>>> print registration.__file__
/home/wenbert/.local/lib/python/registration/__init__.pyc

做一个:

$ ls -la /home/wenbert/.local/lib/python/registration

我在目录中找不到signals.py

因此,请从https://bitbucket.org/ubernostrum/django-registration/src下载tar.gz文件并重新安装。

<强> TL; DR django-registration的安装(没有signals.py)坏了。从源代码下载并手动重新安装。