即使模块位于路径中,Django manage.py 也找不到 INSTALLED_APP

发布于 2024-08-27 14:40:26 字数 320 浏览 5 评论 0原文

当我运行 python manage.py shell 时,我收到一个关于我添加到 INSTALLED_APPS 的最后一个应用程序(即 django-evolution)的错误,说它是一个未定义的模块。尽管我已将 django-evolution 的路径添加到系统路径中,但还是如此。事实上,在这个错误之后,我可以运行 python 并在 django_evolution 上进行导入,一切都很好。为什么 django 或 python 没有看到这个模块,而显然它已经被设置甚至添加到路径中?

编辑:

这只发生在从 iPython 运行时。当我从 cmd 提示符运行时,它工作正常。去算算吧。

When I run python manage.py shell I get an error about the last app I've added to INSTALLED_APPS, namely django-evolution, saying it's an undefined module. This is despite the fact that I've added the path to django-evolution to the system path. In fact right after this error I can run python and do an import on django_evolution and everything is fine. Why isn't django or python seeing this module when clearly it's been setup and even added to the path?

EDIT:

This only happens when running from iPython. When I run from the cmd prompt it works fine. Go figure.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

糖果控 2024-09-03 14:40:26

您的 django_evolution 中是否有 init.py 文件?此外,任何包含 django_evolution 的文件夹都需要一个。

Does your django_evolution have a init.py file in it? Also any folder containing django_evolution needs one.

世界如花海般美丽 2024-09-03 14:40:26

您需要将其添加到 settings.py 的 INSTALLED_APPS 部分。

You need to add it to your INSTALLED_APPS section of settings.py.

霊感 2024-09-03 14:40:26

如果您使用的是 virtualenv 并且 ipython 安装在系统级别,但您的应用程序安装在 env 级别,则会导致这种情况。解决方法是从系统中删除 ipython 并将其安装到您的环境中。

If you are using virtualenv and ipython is installed at the system level but your app at the env level, it will lead to this. The way out of it is to remove ipython from the system and to install it into your env.

○愚か者の日 2024-09-03 14:40:26

我知道这是非常旧的,但如果有人遇到这个问题,我的问题是因为我已经在我的 venv 中提升为 root。我已经初始化了我的虚拟环境,然后将我的权限升级为root。如果deactivate不起作用并且您是root,那么您应该exit然后deactivate,然后您可以执行sudo su< /code> 然后source myenv/bin/activate。希望这有帮助!

I know this is super old, but in case anyone has this issue, my issue was because I had elevated to root inside my venv. I had initialized my virtual environment, and then upgraded my privileges to root. If deactivate doesn't work and you're root, then you should exit then deactivate, then you can do sudo su and then source myenv/bin/activate. Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文