【问题标题】:Installing MySQL-python for Django为 Django 安装 MySQL-python
【发布时间】:2013-05-02 12:58:49
【问题描述】:

我刚刚学会了如何使用virtualenv,并安装了 Django 1.4.5。我假设virtualenv 为我创建了一个全新的工作环境,因此在安装了 Django 1.4.5 后,我将所有以前的文件复制到了virtualenv 环境中。

我尝试运行服务器,但收到错误消息 "no module named MySQLdb"。我认为这意味着我忘记安装 MySQL-python。我尝试通过

安装它
    pip install MySQL-python

但我得到了这个错误

    Downloading/unpacking MySQL-python
    Running setup.py egg_info for package MySQL-python
    The required version of distribute (>=0.6.28) is not available,
    and can't be installed while this script is running. Please
    install a more recent version first, using
    'easy_install -U distribute'.

    (Currently using distribute 0.6.24     (/home/bradford/Development/Django/django_1.4.5/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg))
    Complete output from command python setup.py egg_info:
    The required version of distribute (>=0.6.28) is not available,

    and can't be installed while this script is running. Please

    install a more recent version first, using

    'easy_install -U distribute'.



    (Currently using distribute 0.6.24  (/home/bradford/Development/Django/django_1.4.5/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg))

    ----------------------------------------
    Command python setup.py egg_info failed with error code 2 in /home/bradford/Development/Django/django_1.4.5/build/MySQL-python

不太确定如何解决此问题 =/ 非常感谢任何帮助!

【问题讨论】:

    标签: django virtualenv mysql-python


    【解决方案1】:

    我最近遇到了这个问题(只是与 Django 无关)。就我而言,我正在使用默认的 pip 和分发版本在 Ubuntu 12.04 上进行开发,这对于 MySQL-python 来说基本上有点过时了。

    因为您在隔离的 virtualenv 中工作,所以您可以安全地按照建议的说明进行操作,而不会影响您的 Python 安装。

    所以你可以...

    workon your_virtualenv #activate your virtualenv, you do use virtualenvwrapper, right?
    easy_install -U distribute #update distribute on your virtualenv
    pip install MySQL-python #install your package
    

    如果由于某种原因升级分发不是一个选项,您可以尝试安装旧版本的MySQL-python,如下所示(您必须检查此版本是否与您的 Django 版本兼容):

    pip install MySQL-python==x.y.z #where x.y.z is the version you want
    

    【讨论】:

    • 太棒了!非常感谢你! easy_install -U 分发成功了!谢谢!!!
    • 没有问题,我第一次能够回答我经常问的那种 SO 问题 :)
    • 我还没有回答一个=/
    • 请注意,distribute 已与 setuptools 重新合并,因此此答案可能不再适用(可能有更好的方法来更新 setuptools/distribute,或使用更新版本的 virtualenv 本身创建 virtualenv)
    【解决方案2】:

    花了一个小时浏览 stackoverflow。最终找到答案in the other question。这就是拯救我的原因:

    sudo apt-get install libmysqlclient-dev
    

    mysql_config 随包一起提供。

    【讨论】:

      【解决方案3】:

      在 virtualenv 中做时:

      pip install MySQL-python
      

      我明白了

      EnvironmentError: mysql_config not found
      

      如Artem Fedosov所说,要安装mysql_config,首先要安装

      sudo apt-get install libmysqlclient-dev
      

      那么在 virtualenv 中一切正常

      【讨论】:

      • 这对我来说是最好的答案,我遇到了mysql_config 错误并接受了答案
      【解决方案4】:

      用于 Python (mysql-python) 的 MySQL 驱动程序需要 libmysqlclient-dev。您可以通过以下方式获得它:

      sudo apt-get update
      sudo apt-get install libmysqlclient-dev
      

      如果没有安装 python-dev,你可能也需要安装它:

      sudo apt-get install python-dev
      

      现在你可以安装 MySQL 驱动了:

      pip install mysql-python
      

      以下是 Django 中 MySQL 的更详细文档:

      http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/

      【讨论】:

        【解决方案5】:

        我必须这样做:

        pip install mysql-python
        

        在虚拟环境中

        【讨论】:

          【解决方案6】:

          命令始终在 ubuntu 中运行:

          easy_install -U distribute
          

          稍后

          sudo apt-get install libmysqlclient-dev
          

          最后

          pip install MySQL-python
          

          【讨论】:

            【解决方案7】:

            建议的解决方案不适合我,因为运行后我仍然遇到编译错误

            `$ sudo apt-get install libmysqlclient-dev`  
            

            所以我不得不跑

             apt-get install python-dev
            

            然后对我来说一切都很好

            apt-get install python-dev
            

            【讨论】:

              【解决方案8】:

              试试这个:

              版本 Python 2.7

              MySQL-python 包,您应该使用 MySQL_python‑1.2.5‑cp27‑none‑win32.whl 或 MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl 取决于您安装的是 32 位还是 64 位 Python。

              pip install MySQL_python‑1.2.5‑cp27‑none‑win32.whl
              

              如果你正在使用 mysqlclient 包,那么使用 mysqlclient‑1.4.6‑cp27‑cp27m‑win32.whl 或 mysqlclient‑1.4.6‑cp27‑cp27m‑win_amd64.whl

              pip install mysqlclient‑1.4.6‑cp27‑cp27m‑win32.whl
              

              https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2012-06-13
                • 1970-01-01
                • 2011-10-20
                • 2011-11-19
                • 2014-12-21
                • 1970-01-01
                • 1970-01-01
                • 2015-03-26
                相关资源
                最近更新 更多