我已经建立了一个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
复制相似问题