【问题标题】:Django - can't do migrations, MySQL 5.7.19, Py 3.6.2 [duplicate]Django - 无法进行迁移,MySQL 5.7.19,Py 3.6.2 [重复]
【发布时间】:2018-01-25 09:41:41
【问题描述】:

帮助我被困在 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 说该错误已在 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

【问题讨论】:

  • 您确定安装了 MySQL 或工具吗?
  • 我想我想通了...我必须将 mysql_config 的路径添加到 $PATH...如果我自己解决问题,我可以删除一个问题吗:/
  • 不要删除问题。这个问题可能对未来的读者有所帮助。接受对你帮助最大的答案。 @BSmith
  • 是的——就是这样......我需要将“/usr/local/mysql/bin”添加到我的 $PATH 并且我能够安装 mysqlclient。一旦我将 ENGINE 设置改回 'django.db.backends.mysql' - 我就能够通过这一步。如果没有人觉得它有用,我会投票删除它。
  • 对不起,发布的答案 Mohideen 与此问题无关,但感谢大家的帮助(和眼睛)。

标签: php python mysql django django-migrations


【解决方案1】:

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

sudo apt-get install mysql-server

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

sudo apt-get install libmysqlclient-dev

【讨论】:

    【解决方案2】:

    这是线索,不幸的是,我在发布我的问题后就明白了:

    /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',
    

    ..迁移很顺利。

    【讨论】:

      猜你喜欢
      • 2020-05-09
      • 2021-06-27
      • 2021-12-09
      • 2021-10-13
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 2020-06-07
      相关资源
      最近更新 更多