我正在使用django-piston并在运行manage.py syncdb命令时遇到以下问题:
Traceback (most recent call last):
File "./manage.py", line 13, in <module>
execute_manager(settings)
File "/home/appfirst/django/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
............ lines ommitted ...........
File "/home/appfirst/django/django/utils/translation/trans_real.py", line 176, in translation
default_translation = _fetch(settings.LANGUAGE_CODE)
File "/home/appfirst/django/django/utils/translation/trans_real.py", line 160, in _fetch
apppath = os.path.join(os.path.dirname(app.__file__), 'locale')
AttributeError: 'module' object has no attribute '__file__'
在我的开发环境中,我没有这个问题。我将我的python路径设置为包含django-piston目录。在生产时,我通过将活塞编译为rpm(python setup.py bdist --format=rpm
)并将其作为鸡蛋安装在/usr/lib/python2.6/site-packages/
中来安装活塞。这意味着在开发中,我可以做到
>>> import piston
>>> piston.__file__
/some/file/path/here
但是在制作上我得到了
>>> import piston
>>> piston.__file__
AttributeError: 'module' object has no attribute '__file__'
有没有人知道解决这个问题?
答案 0 :(得分:8)
看起来这是活塞0.2.3的known issue。您可以应用this patch或仅使用版本0.2.2安装它:
pip install django-piston==0.2.2
答案 1 :(得分:1)
我遇到了同样的问题,不确定是什么造成的,但为了解决这个问题,我在设置中取消了我的INSTALLED_APPS中的活塞应用程序,并且它再次开始工作,所以它与加载活塞有关。我要从我的site-packages目录中删除活塞并尝试重新加载它,看看是否有帮助。
此外,在尝试找到我的问题的答案时,我遇到了一些类似问题的网站。
此网站描述了与__init__.py
缺失相关的问题。
http://www.willmer.com/kb/2007/12/attributeerror-module-object-has-no-attribute-blah/
此网站将循环导入描述为一个问题。
http://www.answermysearches.com/python-fixing-module-object-has-no-attribute/333/
另一个我找不到的,提到一些关于无法从作为鸡蛋安装的应用程序正确加载文件的事情。