导入错误:无法导入名称 actions

4 投票
5 回答
4479 浏览
提问于 2025-04-18 09:33

我在尝试运行一个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,现在就可以用了。

撰写回答