我需要一些关于我的传单配置的帮助。 我在运行服务器时收到此错误,因为我将传单添加到我的 Django-3.04 项目中。
File "/Library/Frameworks/Python.framework/Versions/3.8/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 "/Users/marcusbey/.local/share/virtualenvs/rb-website-fKSjEdfu/src/django-leaflet/leaflet/__init__.py", line 80, in <module>
if DEFAULT_PRECISION is not None and not (isinstance(DEFAULT_PRECISION, six.integer_types) and (4 <= DEFAULT_PRECISION <= 12)):
NameError: name 'six' is not defined
我安装了六个并将其添加到 settings.py 文件中,但仍然收到相同的错误。 我不知道还能去哪里看,也不知道该怎么做。 :/
我遵循了这个答案,它终于奏效了。
- 转到 https://pypi.org/project/six/#files
- 下载"6-1.14.0.tar.gz (33.9 kB(">
- 解压缩它,将"six.py"复制并粘贴到源目录中。
- 将"六"模块导入源代码(导入六(
- 运行源脚本。
https://stackoverflow.com/a/61327529/8571945
谢谢大家
Django 曾经与six
一起打包,但 3.0 版本已经放弃了它,因为 Python 2 支持已被完全删除: https://docs.djangoproject.com/en/3.0/releases/3.0/#removed-private-python-2-compatibility-apis
现在,如果你需要django-leaflet
,你可能不得不留在 Django 2.2 版本。然而,看起来他们正在支持Django 3。在撰写本文时,20 天前的最后一次提交是,Drop support for Python 2
:
https://github.com/makinacorpus/django-leaflet/commit/844887affe607d3f115920c862f8ea2b45e19ed8
可能值得尝试从此提交安装到您的虚拟环境中,看看它是否能解决问题:
pip install git+https://github.com/makinacorpus/django-leaflet.git@844887affe607d3f115920c862f8ea2b45e19ed8
我试着把它放进一个venv
,它似乎不再需要six
了。
无论哪种方式,看起来他们正在为 Django 3.0 开发一个版本,只是 PyPI 还没有pip install
。祝你好运!