NameError: 名字'fix'没有被定义,fix在django和 leaflet中无法使用。

问题描述 投票:0回答:1

我需要一些关于我的小叶子配置的帮助,自从我把小叶子添加到我的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  

我安装了6个文件,并将其添加到settings.py文件中,但仍然得到同样的错误。我不知道还能去哪里找,该怎么办。

python django leaflet
1个回答
0
投票

Django以前是用 six但由于Python 2的支持已经完全被移除,3.0版本已经放弃了它。https:/docs.djangoproject.comen3.0releases3.0#removed-private-python-2-compatibility-apis。

现在,如果你需要 django-leaflet但是,看起来他们正在支持Django 3.截至目前,20天前的最后一次提交是,Django 2.2版本。然而,看起来他们正在支持Django 3.截至目前,最后一次提交是在20天前。Drop support for Python 2:

https:/github.commakinacorpusdjango-leafletcommit844887affe607d3f115920c862f8ea2b45e19ed8。

也许值得尝试从这个提交安装到你的虚拟环境中,看看是否能解决这个问题。

pip install git+https://github.com/makinacorpus/django-leaflet.git@844887affe607d3f115920c862f8ea2b45e19ed8

我试着把它安装到一个 venv而且它似乎不需要 six 更多。

不管怎么说,看起来他们正在为Django 3.0开发一个版本,只是没有在PyPI上发布。pip install 还没有。好运!


0
投票

我按照这个答案,终于成功了。

  • https:/pypi.orgprojectsi#files
  • 下载 "六-1.14.0.tar.gz (33.9 kB)"
  • 解压后,将 "six.py "复制并粘贴到你的源码目录中。
  • 将 "six "模块导入到你的源代码中(import six)
  • 运行源码。

https:/stackoverflow.coma613275298571945。

谢谢大家

© www.soinside.com 2019 - 2024. All rights reserved.