Я пытаюсь использовать mysql
из pytest-dbfixtures. У меня есть тестовый файл с примером из документации:pytest mysql db fixture: не удается создать базу данных
def test_using_mysql(mysql):
mysql.query("SELECT CURRENT_USER()")
и когда я запускаю его через $ py.test test_example.py
, я получаю эту ошибку:
E subprocess.CalledProcessError: Command '/usr/bin/mysql_install_db --user=Fluffy --datadir=/tmp/mysqldata_3307' returned non-zero exit status 127
/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py:711: CalledProcessError
------------------- Captured stderr setup ------
[ERROR] /bin/sh: /usr/bin/mysql_install_db: No such file or directory
Я использую Python 3.5 и OS X 10.11.5. MySQL 5.7.12 устанавливается через homebrew
и работает хорошо.
homebrew
не создает symlimks до /usr/bin
, только до /usr/local/bin
. Если я создаю ссылку вручную:
$ sudo ln -s /usr/local/Cellar/mysql/5.7.12/bin/mysql_install_db /usr/bin/mysql_install_db
Я получаю следующее сообщение об ошибке от pytest:
E subprocess.CalledProcessError: Command '/usr/bin/mysql_install_db --user=Fluffy --datadir=/tmp/mysqldata_3307' returned non-zero exit status 1
/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py:711: CalledProcessError
------------------------- Captured stderr setup ----------------------
[ERROR] Can't locate the language directory.
Кроме того, скрипт mysql_install_db
является устаревшим: http://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html
Как использовать mysql
приспособление из pytest dbfixtures ? Есть ли способ использовать его в OS X с MySQL 5.7?
Не могли бы вы показать небольшой пример того, как вы ссылаетесь на прибор 'mysql'? –
обновил сообщение –
Как раз пояснить, тот же пример работает на бродячей машине с Ubuntu. –