pydev-python 链接mysql数据库(mac系统)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

1.首先,实现了命令行可以运行mysql

         非常清楚了,直接引用过来,多谢哈。引用:http://www.lihui.info/mac-pydev-mysqldb/
          

         在mac os上安装MySQLdb,遇到了非常多问题,总结一下:

        首先。假设用sudo easy_install mysql-python命令安装,基本上不会成功的,原因有两个:一是找不到mysql_config位置,二是如今基本上安装的是64位的系统和64位的python,和默认的32位安装包冲突。

所以仅仅能自己去下载http://sourceforge.net/projects/mysql-python/files/,我下载的是MySQL-python-1.2.4b4.tar.gz。

解压后,改动site.cfg,当中凝视了一行:

  1. mysql_config = /usr/local/mysql/bin/mysql_config  

把凝视去掉。路径改为你安装的mysql相应的位置。

       然后命令行进入解压的MySQL-python-1.2.4b4文件夹,运行sudo python setup.py install进行安装。

       安装过程中又遇到非常多问题,然后在网上找到了两个解决方式。可是这样安装还是会有问题,由于我使用eclipse+pydev的开发环境。这个环境还是不能使用MySQLdb。可是用这两个解决方法,能够在命令行下 import MySQLdb了,所以也记下来看看将来有没更完美的解决方法。

        第一个问题是安装过程提示:Library not loaded: libmysqlclient.18.dylib

依据http://blog.sina.com.cn/s/blog_68f3bc280100supn.html。要么在环境变量加入export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/" 要么就软链接,在命令行里运行:

  1. sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib  

       第二个问题是安装过程提示:no suitable image found.Did find:/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so: mach-o, but wrong architecture

依据http://www.liuhuadong.com/archives/1628,能够这样解决:

在/Users/你的username/ 文件夹下编辑或加入隐藏文件.bash_profile。加入环境变量:

  1. PATH="/usr/local/mysql/bin:${PATH}"  
  2. export PATH  
  3. export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/  
  4. export VERSIONER_PYTHON_PREFER_64_BIT=yes  
  5. export VERSIONER_PYTHON_PREFER_32_BIT=yes  

然后再在命令行进入解压的MySQL-python-1.2.4b4文件夹,输入:

  1. sudo python setup.py build  
  2. sudo python setup.py install  

又一次编译和运行安装。

这样以后在命令行下运行import MySQLdb就没有问题

2.pydev中的配置

      前提是完毕了上面的步骤  
     
      首先要打开preference-pydev-interpreter-python中,点击autoconfig勾选上有mysql的那个包,又一次导入。
      这时候加入 import  MySQLdb尽管不报错。可是一旦运行,就会报错:

Library not loaded: libmysqlclient.18.dylib   Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so

     
     解决方式是在shell里运行(注意改路径):

sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib  /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so


3.測试

    在shell里输入下面代码測试下是否链接成功

       

import MySQLdb

try:
    conn=MySQLdb.connect(host='localhost',user='root',passwd='root',db='test',port=3306)
    cur=conn.cursor()
    cur.execute('select * from mytable')
    results=cur.fetchall()
    for r in results:
        print r
    cur.close()
    conn.close()
except MySQLdb.Error,e:
     print "Mysql Error %d: %s" % (e.args[0], e.args[1])
   

     输出结果。数据库查询成功:


版权声明:本文博客原创文章。博客,未经同意,不得转载。





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4666906.html,如需转载请自行联系原作者


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
14天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
14天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:优化进销存管理,掌握MySQL索引,提升系统效率(11)
轻松入门MySQL:优化进销存管理,掌握MySQL索引,提升系统效率(11)
|
17天前
|
存储 Java 关系型数据库
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
24 1
|
17天前
|
存储 Java 关系型数据库
实验室设备管理系统【GUI/Swing+MySQL】(Java课设)
实验室设备管理系统【GUI/Swing+MySQL】(Java课设)
16 0
|
20天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
110 1
|
29天前
|
编解码 项目管理 开发工具
探寻最受欢迎的 Mac 系统开源免费软件
探寻最受欢迎的 Mac 系统开源免费软件
|
29天前
|
XML 关系型数据库 MySQL
python将word(doc或docx)的内容导入mysql数据库
用python先把doc文件转换成docx文件(这一步也可以不要后续会说明),然后读取docx的文件并另存为htm格式的文件(上一步可以直接把doc文件另存为htm),python根据bs4获取p标签里的内容,如果段落中有图片则保存图片。(图片在word文档中的位置可以很好的还原到生成的数据库内容) 我见网上有把docx压缩后解压获取图片的,然后根据在根据xml来读取图片的位置,我觉得比较繁琐。用docx模块读取段落的时候还需要是不是判断段落中有分页等,然而转成htm之后就不用判断那么多直接判断段落里的样式或者图片等就可以了。
21 1
|
1月前
|
SQL 关系型数据库 MySQL
Python怎么操作Mysql数据库
Python怎么操作Mysql数据库
49 0
|
29天前
|
SQL 关系型数据库 MySQL
python在mysql中插入或者更新null空值
这段代码是Python操作MySQL数据库的示例。它执行SQL查询从表`a_kuakao_school`中选取`id`,`university_id`和`grade`,当`university_id`大于0时按升序排列。然后遍历结果,根据`row[4]`的值决定`grade`是否为`NULL`。若不为空,`grade`被格式化为字符串;否则,设为`NULL`。接着构造UPDATE语句更新`university`表中对应`id`的`grade`值,并提交事务。重要的是,字符串`NULL`不应加引号,否则更新会失败。
19 2
【在Mac电脑上录制视频,并快速转成GIF!!!超级好用,强烈推荐GIF Brewery,内附下载链接。】
【在Mac电脑上录制视频,并快速转成GIF!!!超级好用,强烈推荐GIF Brewery,内附下载链接。】