我已经建立了一个Django网站,以及基于pytest和pytest-django包的测试。我希望将PyMySQL包与我的设置配合使用,以便进行测试和生产。
我知道,为了让PyMySQL将自身公开为mysqldb模块,以便django (和其他模块)可以使用它,我应该将以下代码片段放在代码的开头。
import pymysql
pymysql.install_as_MySQLdb()我在整个代码中多次尝试在不同的位置调用上述函数,但pytest似乎都没有及早检测到。
这包括将代码片段放在conftest.py:pytest_configure中,放在我的django项目的manage.py文件中,等等。两者都不起作用。
我从mysqlclient切换到PyMySQL的原因是,一旦我在.travis.yml中包含以下内容,mysqlclient似乎就不能与travis.org一起工作了
addons:
mariadb: '10.0'为了用MariaDB代替普通的MySQL。
让travis使用python mysqlclient包也可以解决我的问题,但是我也无法做到这一点。
作为参考,this是公关的一项工作,以防我遗漏了一些重要的东西。
发布于 2018-08-25 07:11:19
我可以通过添加
import pymysql
pymysql.install_as_MySQLdb()到我的python3.6/site-packages/pytest_django/init.py文件
https://stackoverflow.com/questions/51350559
复制相似问题