我正试图将Wagtail从1.13升级到2.0,在尝试迁移时遇到了这个错误:
RuntimeError: Model class wagtail.wagtailcore.models.Site doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
日志是:
[...]
File "C: Program Files Python36 lib site-packages wagtail wagtailcore blocks field_block.py", line 16, in <module>
from wagtail.wagtailcore.rich_text import RichText
File "C: Program Files Python36 lib site-packages wagtail wagtailcore rich_text.py", line 10, in <module>
from wagtail.wagtailcore.models import Page
File "C: Program Files Python36 lib site-packages wagtail wagtailcore models.py", line 54, in <module>
class Site (models.Model):
File "C: Program Files Python36 lib site-packages django db models base.py", line 118, in __new__
"INSTALLED_APPS." % (module, name)
RuntimeError: Model class wagtail.wagtailcore.models.Site doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
我之前已经安装了更新所需的一切,并且我已经传递了重命名更改字段的脚本。
在日志中,您可以看到应该指向核心的路径实际上指向旧版本(wagtailcore(,而不是";核心":
C: Program Files Python36 lib site-packages wagtail wagtailcore models.py
我想所有的问题都来自这里,我该如何在django中查找正确的文件夹?
更新:
我试图用pip卸载wagtail卸载,但一些文件夹没有被删除:结果卸载后
命令抛出以下错误:
Exception:
Traceback (most recent call last):
File "c:program filespython36libshutil.py", line 550, in move
os.rename(src, real_dst)
FileNotFoundError: [WinError 3] El sistema no puede encontrar la ruta especificada: 'c:\program files\python36\lib\site-packages\wagtail\tests\testapp\migrations\__pycache__\0005_customrichblockfieldpage_customrichtextfieldpage_defaultrichblockfieldpage_defaultrichtextfieldpage.cpython-36.pyc' -> 'C:\Users\plata\AppData\Local\Temp\pip-uninstall-v6wl_qyt\program files\python36\lib\site-packages\wagtail\tests\testapp\migrations\__pycache__\0005_customrichblockfieldpage_customrichtextfieldpage_defaultrichblockfieldpage_defaultrichtextfieldpage.cpython-36.pyc'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:program filespython36libsite-packagespip_internalclibase_command.py", line 143, in main
status = self.run(options, args)
File "c:program filespython36libsite-packagespip_internalcommandsuninstall.py", line 75, in run
auto_confirm=options.yes, verbose=self.verbosity > 0,
File "c:program filespython36libsite-packagespip_internalreqreq_install.py", line 683, in uninstall
uninstalled_pathset.remove(auto_confirm, verbose)
File "c:program filespython36libsite-packagespip_internalreqreq_uninstall.py", line 224, in remove
renames(path, new_path)
File "c:program filespython36libsite-packagespip_internalutilsmisc.py", line 280, in renames
shutil.move(old, new)
File "c:program filespython36libshutil.py", line 564, in move
copy_function(src, real_dst)
File "c:program filespython36libshutil.py", line 263, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "c:program filespython36libshutil.py", line 121, in copyfile
with open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\plata\AppData\Local\Temp\pip-uninstall-v6wl_qyt\program files\python36\lib\site-packages\wagtail\tests\testapp\migrations\__pycache__\0005_customrichblockfieldpage_customrichtextfieldpage_defaultrichblockfieldpage_defaultrichtextfieldpage.cpython-36.pyc'
在Wagtail 2.0的代码库中根本不存在wagtailcore
应用程序文件夹,所以看起来您仍然安装了旧版本的Wagtail。尝试运行pip uninstall wagtail
,并在运行pip install wagtail==2.0.2
之前确认已正确删除C:Program FilesPython36libsite-packageswagtail
文件夹。