导入错误:无法导入名称 actions
我在尝试运行一个Django项目,已经按照requirements.txt里的内容安装了所有需要的东西,但还是出现了错误。
from django.contrib.admin import ModelAdmin, actions
ImportError: cannot import name actions
我找不到任何有用的信息。有没有人知道怎么解决这个问题?
更新:
我发现没有settings.py文件,而是有一个settings文件夹,里面有common.py和production.py,但没有settings.py。可能这就是问题所在?
5 个回答
-3
什么是 actions
?你会遇到这个错误是因为在 管理模块 中没有这个东西。
1
我在一个项目中遇到过这个问题。我使用了最新版本的psycopg2。后来我把它安装成了psycopg2==2.5.3(我其他项目也用这个版本),现在它就正常工作了。
1
我遇到过这个问题,结果发现我在settings.py文件里设置的数据库密码是错的。
1
我在把我的操作系统升级到Mavericks的时候遇到了这个错误。
正如quux提到的,你可以通过Python的命令行得到真正的错误信息,确实是因为_psycopg.so这个文件在找一个不存在的库。
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")
from django.contrib.admin import ModelAdmin, actions
Library not loaded: /usr/local/lib/libpq.5.6.dylib
Referenced from: /Users/nreeves/venvs/gd_api_env/lib/python2.7/site-packages/psycopg2/_psycopg.so
Reason: image not found
所以我需要把库链接到_psycopg.so所查找的地方。
首先,我需要找到这个库本身。
我是通过brew安装的,所以我的库在这里:
/usr/local/Cellar/postgresql/9.3.4/lib/libpq.5.6.dylib
然后我创建了一个指向/usr/lib(或者/usr/local/lib)的符号链接。
sudo ln -s /usr/local/Cellar/postgresql/9.3.4/lib/libpq.5.6.dylib /usr/lib
这样一切就解决了。
3
我试着在Python的命令行里手动运行导入,像这样:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "chipped.settings.common")
from django.contrib.admin import ModelAdmin, actions
结果告诉我没有找到 postgresql_psycopg2
这个模块。我把数据库引擎换成了 django.db.backends.sqlite3
,现在就可以用了。