Django 在 MacOS 上崩溃
Posted
技术标签:
【中文标题】Django 在 MacOS 上崩溃【英文标题】:Django Broken on MacOS 【发布时间】:2018-09-04 12:05:50 【问题描述】:我正在开发一个关于 Django 的项目,但我遇到了一个问题。我做了一些错误的迁移,并决定从项目文件夹中删除它们并重建它们。既然我这样做了,Django 的行为“就像删除了它的一个源文件”。我尝试migrate
、makemigration
、runserver
的每个项目都会出现错误。我试图用 pip 重新安装 django,但它根本没有帮助。我还删除了.pyc
文件,但它根本没有帮助。我什至生成了新项目,但仍然在同一个问题上运行。我确实认为这很有帮助,但我不得不提到shell
启动正常。
错误
Performing system checks...
System check identified no issues (0 silenced).
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x1049a38c8>
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 123, in inner_run
self.check_migrations()
File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 427, in check_migrations
executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/executor.py", line 18, in __init__
self.loader = MigrationLoader(self.connection)
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/loader.py", line 49, in __init__
self.build_graph()
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/loader.py", line 267, in build_graph
raise exc
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/loader.py", line 241, in build_graph
self.graph.validate_consistency()
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/graph.py", line 243, in validate_consistency
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/graph.py", line 243, in <listcomp>
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "/usr/local/lib/python3.6/site-packages/django/db/migrations/graph.py", line 96, in raise_error
raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration admin.0003_auto_20180326_1230 dependencies reference nonexistent parent node ('profile', '0003_auto_20180326_1230')
它表现得很奇怪,我仍然不明白是什么导致了这个问题。
更新
使用virtualenv
我设法让它工作。我用python3
设置了virtualenv,然后我只运行了makemigrations
,它就像什么都没发生过一样。所以我猜是源文件有问题。另一方面,我仍然找不到导致问题的原因。
【问题讨论】:
这是一个不一致的迁移问题。检查这个***.com/questions/44651760/…。 django的安装也与此无关。错误是因为你的错误。 是的,这是我的错误似乎很合乎逻辑,但是 Django 在每个项目上都失败了吗? 不,它不会失败。查看我评论中提到的链接,仔细阅读该问题和答案。如果您仍然遇到问题,请发表评论。 我尝试了您提到的问题中提出的所有解决方案,但没有任何效果。同样的错误一次又一次地出现......我什至删除了数据库。没有迁移文件,makemigrations
失败
【参考方案1】:
迁移admin.0003_auto_20180326_1230
依赖于profile.0003_auto_20180326_1230
。
当您删除profile.0003_auto_20180326_1230
时,您应该查看admin.0003_auto_20180326_1230
,看看您是否可以修改或删除它。
admin.0003_auto_20180326_1230
应该是admin/migrations/0003_auto_20180326_1230.py
更新
建议在 Django 中使用 virtualenv。 doc
我个人使用Pipenv 来管理我的虚拟环境。
Django 一定是混合了来自不同项目的迁移,因为它们没有被 virtualenvs 隔离。也许它找不到正确的设置模块或其他东西。
【讨论】:
其实我也是这么想的,但是在完全不相关的项目中也会出现同样的问题,而且我的项目中没有管理目录。我无法在计算机上的任何位置找到导致问题的文件。 是的,我知道 :|,我已经设置了它但忘记激活它。这一定是问题所在。关于如何解决这些冲突的任何想法?我想可能是django目录下的python缓存文件。以上是关于Django 在 MacOS 上崩溃的主要内容,如果未能解决你的问题,请参考以下文章
为啥在 macOS 上使用 QThread 时 PyQt 应用程序崩溃或挂起?
Opencv imshow 在 macOS 11.0.1 (Big Sur) 上崩溃 python 启动器
VMware工程师确认macOS Catalina 10.15.6存在Bug导致虚拟机崩溃
macOS Document App SwiftUI 项目上的 NSPersistentDocument FetchRequest 扭曲属性崩溃