为什么我不能在诗歌 venv 中使用 Django 执行迁移?

如何解决为什么我不能在诗歌 venv 中使用 Django 执行迁移?

我已经使用 virtualenv 为 WSL2-Ubuntu 中的 Django 项目设置了一个 poerty==1.1.5。当我尝试使用 Django=3.0.4 执行数据库迁移时,出现以下错误

(.venv) florian@DESKTOP-G3G6E71-wsl:~/gitlab/mvp-edge-backend/backend$ python manage.py makemigrations
Traceback (most recent call last):
  File "manage.py",line 21,in <module>
    main()
  File "manage.py",line 17,in main
    execute_from_command_line(sys.argv)
  File "/home/florian/gitlab/mvp-edge-backend/backend/.venv/lib/python3.8/site-packages/django/core/management/__init__.py",line 401,in execute_from_command_line
    utility.execute()
  File "/home/florian/gitlab/mvp-edge-backend/backend/.venv/lib/python3.8/site-packages/django/core/management/__init__.py",line 395,in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/florian/gitlab/mvp-edge-backend/backend/.venv/lib/python3.8/site-packages/django/core/management/__init__.py",line 244,in fetch_command
    klass = load_command_class(app_name,subcommand)
  File "/home/florian/gitlab/mvp-edge-backend/backend/.venv/lib/python3.8/site-packages/django/core/management/__init__.py",line 37,in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name,name))
  File "/usr/lib/python3.8/importlib/__init__.py",line 127,in import_module
    return _bootstrap._gcd_import(name[level:],package,level)
  File "<frozen importlib._bootstrap>",line 1014,in _gcd_import
  File "<frozen importlib._bootstrap>",line 991,in _find_and_load
  File "<frozen importlib._bootstrap>",line 975,in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>",line 671,in _load_unlocked
  File "<frozen importlib._bootstrap_external>",line 783,in exec_module
  File "<frozen importlib._bootstrap>",line 219,in _call_with_frames_removed
  File "/home/florian/gitlab/mvp-edge-backend/backend/.venv/lib/python3.8/site-packages/django/core/management/commands/makemigrations.py",line 11,in <module>
    from django.db.migrations import Migration
  File "/home/florian/gitlab/mvp-edge-backend/backend/.venv/lib/python3.8/site-packages/django/db/migrations/__init__.py",line 1,in <module>
    from .migration import Migration,swappable_dependency  # NOQA
ModuleNotFoundError: No module named 'django.db.migrations.migration'

我已经按照其他相关问题中的建议重新创建了 venv 几次。但是我总是遇到同样的错误。该软件包似乎已正确安装在 venv 中:

(.venv) florian@DESKTOP-G3G6E71-wsl:~/gitlab/mvp-edge-backend/backend$ python manage.py --version
3.0.4
(.venv) florian@DESKTOP-G3G6E71-wsl:~/gitlab/mvp-edge-backend/backend$ pip freeze | grep Django
Django @ file:///home/florian/.cache/pypoetry/artifacts/01/7f/3b/9b972acb56bdd4b4d20a000d9f9be5cf8daf08fcf50e75003371ff0cb7/Django-3.0.4-py3-none-any.whl
(.venv) florian@DESKTOP-G3G6E71-wsl:~/gitlab/mvp-edge-backend/backend$ poetry show django
name         : django
version      : 3.0.4
description  : A high-level Python Web framework that encourages rapid development and clean,pragmatic design.

dependencies
 - asgiref >=3.2,<4.0
 - pytz *
 - sqlparse >=0.2.2

在 Python 系统安装中,没有安装可能与 venv 冲突的包:

florian@DESKTOP-G3G6E71-wsl:~/gitlab/mvp-edge-backend/backend$ pip show django
WARNING: Package(s) not found: django

为什么不能使用 poetry 托管的 venv 执行数据库迁移?

旁注:我用普通的 stdlib venv 重新创建了 venv,并且能够毫无问题地运行迁移。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?