我从 python 3.8 更改为 3.12.2 一切都很好,但我无法迁移,不知道为什么它也不进行迁移。 当我做
python manage.py make migrations
。 出现这个问题:
文件“/Users/mhaziq/Documents/codebase/abbi-backend-new/.venv/lib/python3.12/site-packages/simplified_scrapy/init.py”,第7行,位于 从 simple_scrapy.simplified_main 导入 SimplifiedMain 文件“/Users/mhaziq/Documents/codebase/abbi-backend-new/.venv/lib/python3.12/site-packages/simplified_scrapy/simplified_main.py”,第 4 行,位于 导入线程、回溯、时间、importlib、imp、os、json、io ModuleNotFoundError:没有名为“imp”的模块
虽然当我转到名为 simple-scrapy/simplified_main.py 的文件包文件并更改时:
来自 imp 导入重新加载
到
从 importlib 导入重新加载
问题已解决,但这不是一件好事,我想要一个正确的方法,因为更改包文件不是一件好事。请帮助我
imp 很久以前就被弃用了,并在 3.12 中被删除。
https://docs.python.org/3/whatsnew/changelog.html
Python 3.6.0 alpha 1
Release date: 2016-05-16
Library
Move the imp module from a PendingDeprecationWarning to DeprecationWarning.
Python 3.12.0 beta 1
Release date: 2023-05-22
Library
gh-98040: Remove the long-deprecated imp module.
问题似乎是由 simple-scrapy 引发的,因此请在 github 中提出问题和/或使用您的修复程序打开 PR。 3.11 将按原样工作,您当然可以继续使用 3.12 并进行自己的更正,但是您需要通过从源代码版本构建包来处理部署,而不是从 pypi 安装。