导入错误:没有名为 'secrets' 的模块 - python manage.py 拉取到数字海洋后不起作用



我正在学习从Django开发到部署的课程
把它拉到Digital Ocean后,其他一切都很顺利。直到
我尝试运行python manage.py help

(env) djangoadmin@ubuntu-1:~/pyapps/btre_project_4$ python manage.py help

我得到了这个错误。

Traceback (most recent call last):

File "manage.py", line 21, in <module>
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 377, in execute
django.setup()
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/__init__.py", line 16, in setup
from django.urls import set_script_prefix
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/urls/__init__.py", line 1, in <module>
from .base import (
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/urls/base.py", line 9, in <module>
from .exceptions import NoReverseMatch, Resolver404
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/urls/exceptions.py", line 1, in <module>
from django.http import Http404
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/http/__init__.py", line 2, in <module>
from django.http.request import (
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/http/request.py", line 10, in <module>
from django.core import signing
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/core/signing.py", line 45, in <module>
from django.utils.crypto import constant_time_compare, salted_hmac
File "/home/djangoadmin/pyapps/env/lib/python3.5/site-packages/django/utils/crypto.py", line 6, in <module>
import secrets
ImportError: No module named 'secrets'

我是一个新手,已经被这个问题困扰了一段时间。我只是想知道是什么可能导致这种情况。

secrets模块已在3.6版中添加到Python中。您的主机正在使用Python 3.5,因此secrets模块不可用。你需要一个Python3.6+的主机,或者一个不依赖秘密模块的Django版本

也有同样的问题,通过指定我安装的python版本来解决。即

$ python3
>>> import secrets
>>> secrets.token_hex(16)

最新更新