推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
roseth
V2EX  ›  Python

被 Mysql for Python 折腾坏了

  •  
  •   roseth · Jul 27, 2014 · 10361 views
    This topic created in 4489 days ago, the information mentioned may be changed or developed.
    搞了2个小时的Mysql for Python还是木有成功。。

    啊喂~ 不是说MAC对开发者友好吗。。不是说Python很容易学习吗。。
    在MAC下弄个Mysql for Python都这么费劲
    MySQLdb 也安装了 distribute也安装了
    easy pip也安装了。网上搜到的步骤都走了一遍还是报错。。

    难道是因为我用的mysql是集成环境MAMP吗。。
    25 replies  •  2014-07-28 17:37:35 +08:00
    skydiver
    skydiver
    Jul 27, 2014 via Android❤️1
    1
    网上问问题的第一步是把详细错误日志贴出来

    而不是大叫我搞不定快来帮我……

    23333
    no13bus
    no13bus
    Jul 27, 2014
    2
    哪里错了?可以到stackoverflow上面搜答案。基本可以找到
    Wuvist
    Wuvist
    Jul 27, 2014
    3
    mac对开发者不友好,先在mac里面装个ubuntu虚拟机吧。
    yhf
    yhf
    Jul 27, 2014
    4
    下载mysql-python,修改site.cfg:
    mysql_config = /usr/local/mysql/bin/mysql_config
    然后开始安装:
    sudo python setup.py clean
    sudo python setup.py build
    sudo python setup.py install
    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
    cd /usr/lib
    ls -l libmysqlclient.18.dylib

    这我当初的记录,不知是否可行。
    roseth
    roseth
    OP
    Jul 27, 2014
    5
    @skydiver

    抱歉哈,当初只是想抱怨一下 吐个槽的
    roseth
    roseth
    OP
    Jul 27, 2014
    6
    @yhf 十分感谢你的回复。
    我之前也按这个流程试了一遍。但是在
    sudo python setup.py build 就报错了

    _mysql.c:44:10: fatal error: 'my_config.h' file not found
    #include "my_config.h"


    在github和stackoverflow搜索了一下,见到说是因为10.0.9版本的问题。。还没找到解决方法
    feijilei
    feijilei
    Jul 27, 2014❤️1
    7
    建议直接用centos python 用2.6.6 或2.7的
    hahastudio
    hahastudio
    Jul 27, 2014 via Android
    8
    所以说,还是 homebrew 好,我装的时候就没这么多事儿
    虽然 homebrew 里也有些比较坑的,比如 hive= =
    binux
    binux
    Jul 27, 2014❤️1
    9
    用 mysql-connector-python 吧,存python免编译
    dingyaguang117
    dingyaguang117
    Jul 28, 2014
    10
    @roseth 要设置C_INCLUDE_PATH
    reeco
    reeco
    Jul 28, 2014
    11
    windows才是对程序员最友好的
    dingyaguang117
    dingyaguang117
    Jul 28, 2014❤️1
    12
    LZ 是不是没装mysql-devel
    izoabr
    izoabr
    Jul 28, 2014
    13
    顶@skydiver
    @dingyaguang117的思路是对的,他就是缺个头文件,这个头文件如果用brew的话,应该是mysql包里,没有单独的mysql-devel.
    所以直接用brew先装mysql,如果不用数据库,本地不要起服务就行了,只当客户端用.
    baocaixiong
    baocaixiong
    Jul 28, 2014 via iPhone
    14
    把cellers里面MySQL 的头文件软链接到lib里面去
    nooper
    nooper
    Jul 28, 2014
    15
    ...........,你对header不熟悉。
    p2p
    p2p
    Jul 28, 2014 via Android
    16
    用 postgresql
    zhouzm
    zhouzm
    Jul 28, 2014
    17
    建议装虚拟机 Parallels
    frankzeng
    frankzeng
    Jul 28, 2014
    18
    mysql-devel没有装,找不到头文件吧
    p2p
    p2p
    Jul 28, 2014
    19
    记得最新版osx 移除了一些头文件 需要自己加进去才可以

    索性转成 postgresql
    koy1619
    koy1619
    Jul 28, 2014
    20
    和集成环境无关,easyinstall和pip都可以安装,实在不行就拿源码MySQL-python.tar.gz编译吧,记得先安装setuptools!最重要是看报错!参考 http://linux48.com/archives/60
    muzuiget
    muzuiget
    Jul 28, 2014
    21
    Mac 是对熟悉 Linux 的开发者友好。
    good
    good
    Jul 28, 2014
    22
    我也是用的MAMP 环境 不过用的是Python3 和PyMySql 这里有设置 http://www.shayiming.cn/05-12-382.html
    yakczh
    yakczh
    Jul 28, 2014
    23
    archlinux 对开发者友好
    fghzpqm
    fghzpqm
    Jul 28, 2014❤️1
    24
    两行命令搞定:

    brew install mysql-connector-c
    pip install MySQL-python
    julyclyde
    julyclyde
    Jul 28, 2014
    25
    主要是MySQLdb的安装过程需要链接libmysqlclient

    可以试试用pymysql代替之
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2339 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 11:34 · PVG 19:34 · LAX 03:34 · JFK 06:34
    ♥ Do have faith in what you're doing.