请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

执行 python manage.py makemigrations报错

图片描述
我在执行 python manage.py makemigrations报错,我是连接的另一台服务器中的mysql,已在setting.py中设置databases

正在回答 回答被采纳积分+3

1回答

deweizhang 2020-05-27 16:57:50

是这样 你可以试着在你的命令行里 连接一下你的远端数据库. 从错误的角度来说 并无法看戳错误原因. 因为全是第三方包内部的错误. 你可以试试一下方案:

1: 刚才说的,本地的命令行里试着连接一下 你的远端mysql  命令参考如下: mysql -h 远端的地址 -u用户名 -p密码

2: 如果1可以连接并访问数据库与操作表. 看下django里的settings配置地址是否正确

3: 如果2也没有问题 看看 你的mysql-client 版本,以及你的mysql的版本,如果mysql版本太高,有可能mysql-client无法连接(django调用的mysql-client)

以上3点建议查看一下. 另外请同学尽量按照课程要求, python版本3.5或3.6, django版本2.1.2.   因为虽然绝大多数情况 知识点都一样 但是django是一个从不做兼容的框架,有可能小细节发生了变化. 举例 django3版本只支持3.7以上版本. python3.8版本不支持mako模板等, 这种小的兼容,我也没有遇到过,所以我也很难第一时间帮助排查到.所以咱们使用统一的版本,先学会知识点,以后我们自己再去扩展,选择需要的版本,会更好~

0 回复 有任何疑惑可以回复我~
  • 提问者 wendy9960 #1
    谢谢老师。可是我用LRedhat环境,python是3.6.10版本 执行migrate 已经报错,ModuleNotFoundError: No module named 'pymongo' 是不是要安装pymongo呢?
    [root@ACCA-TEST-T-1 one]# python manage.py migrate
    Traceback (most recent call last):
      File "/usr/local/python3.6/lib/python3.6/site-packages/Django-2.1.15-py3.6.egg/django/conf/__init__.py", line 44, in _setup
        self._wrapped = Settings(settings_module)
      File "/usr/local/python3.6/lib/python3.6/site-packages/Django-2.1.15-py3.6.egg/django/conf/__init__.py", line 107, in __init__
        mod = importlib.import_module(self.SETTINGS_MODULE)
      File "/usr/local/python3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "/data/lession4/one/one/settings.py", line 15, in <module>
        from pymongo import MongoClient
    ModuleNotFoundError: No module named 'pymongo'
    回复 有任何疑惑可以回复我~ 2020-05-28 10:12:39
  • 是的 你已经读出了错误信息 为什么要不确定自己的~
    回复 有任何疑惑可以回复我~ 2020-05-28 10:19:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信