Django - 无法进行迁移,MySQL 5.7.19,Py 3.6.2

时间:2017-08-17 05:29:19

标签: php python mysql django django-migrations

帮助我陷入Django地狱! 我正在尝试学习Django,并且我试图在自己的计算机上设置一个测试站点(MacOS 10.12.6)。我的Python版本是3.6.2,Django 1.11.4和MySQL 5.7.19。

我正处于我想做的地步:

python manage.py migrate

但是......它不起作用......我已经安装了 mysql-connector 2.1.6 ,并且该特定版本似乎有一个错误which is documented here。发布的错误看起来像我的。 MySQL说这个bug在版本2.1.7中得到了修复,但是我无法用pip下载它,我也无法在任何地方看到它。 pip看到的唯一更高版本是2.2.3并且根本没有安装。

我找到了其他instructions that suggested using mysqlclient(和here),但即使这样也行不通。我收到这个错误......

pip install mysqlclient
Collecting mysqlclient
  Using cached mysqlclient-1.3.10.tar.gz
    Complete output from command python setup.py egg_info:
    /bin/sh: mysql_config: command not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/d9/z3yxpfl505s_jwtty_x3576h0000gn/T/pip-build-8vj20eqa/mysqlclient/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "/private/var/folders/d9/z3yxpfl505s_jwtty_x3576h0000gn/T/pip-build-8vj20eqa/mysqlclient/setup_posix.py", line 44, in get_config
        libs = mysql_config("libs_r")
      File "/private/var/folders/d9/z3yxpfl505s_jwtty_x3576h0000gn/T/pip-build-8vj20eqa/mysqlclient/setup_posix.py", line 26, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    OSError: mysql_config not found

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/d9/z3yxpfl505s_jwtty_x3576h0000gn/T/pip-build-8vj20eqa/mysqlclient/

我希望有人可以帮我解决这个问题,因为我现在肯定会陷入困境。提前谢谢!

-b

2 个答案:

答案 0 :(得分:1)

我认为你的Mysql连接器有问题..所以试试这些,

sudo apt-get install mysql-server

mysql-config位于不同的包中,可以从以下位置安装:

sudo apt-get install libmysqlclient-dev

答案 1 :(得分:1)

这是线索,遗憾的是,我在发布问题后理解了这一点:

/bin/sh: mysql_config: command not found

我认为MySQL可执行文件的路径是正确的,但事实并非如此。我将此添加到我的.bash_profile文件中:

export PATH=$PATH:/usr/local/mysql/bin

然后将settings.py中的ENGINE设置更改回:

'ENGINE': 'django.db.backends.mysql',

..并且迁移进展顺利。