user_image
By  不玩游戏的网瘾少年    On   2020年1月31日 18:43

如果使用anaconda创建虚拟环境并安装django后,在虚拟环境中使用conda list命令,如果已经安装了mysqlclient的千万不要安装并引用pymysql这个包。不使用pymysql这个包的话django会默认使用更新一点的mysqlclient进行连接,如果写了 import pymsql 和pymysql.install_as_MySQLdb()这两句后,django会使用pymysql进行连接数据库,而pymysql的mysqlclient版本就是0.9.3。也就是各位报错的,“django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.”这句话的来源。希望博主可以稍微修改一下。 今天我也在部署django到lnmp环境中,提几个容易踩的坑,警示自己,也为后来人铺一下道路: 1.使用远程数据库提示Internet error,查看远程数据库的对应端口是否开放(比如MySQL就是3306,需要看一下防火墙有没有放行3306) 2.能访问3306端口但远程无法使用数据库,查看用户是否具有任意主机访问数据库的权限 3.提示django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3. 在没有其他使用的情况下将代码中的pymysql全部删掉。不需要安装pymysql。如果不是像我使用conda创建的虚拟环境的,可以使用pip安装最新mysqlclient即可解决。