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

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

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

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

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/" 要么就软链接,在命令行里运行:

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

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

PATH="/usr/local/mysql/bin:${PATH}"

export PATH

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/

export VERSIONER_PYTHON_PREFER_64_BIT=yes

export VERSIONER_PYTHON_PREFER_32_BIT=yes

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

sudo python setup.py build

sudo python setup.py install

又一次编译和运行安装。

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

2.pydev中的配置

前提是完毕了上面的步骤

首先要打开preference-pydev-interpreter-python中,点击autoconfig勾选上有mysql的那个包,又一次导入。

这时候加入importMySQLdb尽管不报错。可是一旦运行,就会报错:

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])

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

1f6c1113a21d30b2c74b9f84f0de1587.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL多个线程同时写数据_多个线程可以同时将数据写入文件吗?

同步声明可以做到这一点。尝试下面的代码,我在类似的情况下使用。package hrblib;import java.io.*;public class FileOp {static int nStatsCount 0;static public String getContents(String sFileName) {try {BufferedReader oReader new BufferedReader(new F…

Java在Linux下创建文件,文件夹,删除,拷贝文件的命令

1.创建,删除文件夹,复制文件夹 mkdir,rmdir如:mkdir -p dir1/dir2 //-p表示递归创建文件夹 cp -r /tmp/a /root/a //拷贝不强制覆盖cp -rf /tmp/a /root/a //拷贝强制覆盖 2.创建,删除文件 vi,touch都可以创建文件。如:vi fileNametouch f…

python 拼多多_拼多多现重大BUG被“薅羊毛”,教你如何用Python简单褥羊毛

import timefrom urllib.parse import parse_qsimport requestsfrom bs4 import BeautifulSoupfrom selenium import webdriverfrom selenium.common.exceptions import *from selenium.webdriver.support.wait import WebDriverWait# 额外抽取的授权模块from utils import aut…

上海交通大学python期末考试样题加解析_上海交通大学python期末考试样题加解析...

一、选择题: 将唯一正确的选项写在题前括号中.每题2分.【】(1) 本课程的目标定位是什么?[A] 学习Python语言[B] 学习计算机的工作原理[C] 学习各种算法[D] 学习用计算机解决问题【】(2) 下列哪个标识符是合法的?[A] var-name [B] !#$% [C] _100 [D] elif【】(3) 执行下列语句…

mysql 安装测试ok_tpcc-mysql安装测试与使用的实例教程

1:下载tpcc-mysql的压缩包,从下面的网站进行下载也可直接从叶总博客直接下载:我这边使用的就是后者。2:安装tpcc-mysql[rootmxqmongodb2 tpccmysql]# gunzip tpcc-mysql-src.tgz[rootmxqmongodb2 tpccmysql]# tar xf tpcc-mysql-s…

python多线程写同一文件_Python多线程写文件实例

# -*- coding: utf-8 -*-import threading多线程生成日志工具__author ["yangfei" ]#该方法主要用于写入300行WARN日志def writeWarnLog(file):count0;while count<300:try:file.write(2012-11-28 22:51:01|zookeeper|WARN|m1|172.17.1.15\n)count1except Except…

Tomcat6.0.37,tomcat6.0.37,下访问Web项目,jsp项目不需要输入项目名称和端口号的配置方法...

1.不需要数据项目名称就可以访问项目的配置方法如下&#xff1a; 首先到你的Tomcat下的conf文件夹下找到server.xml文件&#xff0c;打开后修改为&#xff1a; <Host name"localhost" appBase"webapps"unpackWARs"true" autoDeploy"tru…

java合并list_java合并list方法代码实例

这篇文章主要介绍了java合并list方法代码实例,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口&#xff0c;所以List接口拥有Collec…

java math 函数_Java中Math类常用函数总结

Java中比较常用的几个数学公式的总结&#xff1a;//取整&#xff0c;返回小于目标函数的最大整数,如下将会返回-2Math.floor(-1.8)&#xff1b;//取整&#xff0c;返回发育目标数的最小整数Math.ceil()//四舍五入取整Math.round()//计算平方根Math.sqrt()//计算立方根Math.cbrt…

java asc码_Java中ASC码与字符互相转化

package com.ljq.test;/*** Java中ASC码与字符互相转化** author jiqinlin**/public class ASCTest {private static int ascNum;private static char strChar;public static void main(String[] args) {System.out.println(getAsc("a"));System.out.println(backcha…

java上传png_java上传png图片出现红色背景

java图片上传出现红色背景java图片服务器上传图片都很正常&#xff0c;唯独上传png图片时&#xff0c;png图片变成红色背景原因是读取上传数据时用的是ImageIO.read(inputstream)方法public static BufferedImage getImages(byte[] data) throws IOException {ByteArrayInputSt…

java 引用队列_Java中管理资源的引用队列相关原理解析

当对象改变其可达性状态时&#xff0c;对该对象的引用就可能会被置于引用队列(reference queue)中。这些队列被垃圾回收器用来与我们的代码沟通有关对象可达性变化的情况。这些队列是探测可达性变化的最佳方式&#xff0c;尽管我们也可以通过检查get方法的返回值是不是null来探…

Tomcat 替换项目图标

1.首先制作一个32*32像素的图标&#xff0c;命名为favicon.ico这里名称必须是和Tomcat的webapps下的ROOT下的一样。 2.把制作好的图标放到你要部署的Web项目的images目录下&#xff0c;如果你的Web项目有过滤器等&#xff0c;要给后缀名为.ico的图标放行。 3.最后你就可以在你需…

hp 导出日志 远程管理卡_惠普服务器远程管理卡安装详解

可以远程管理服务器。带惠普基于Web的网络资源管理和性能监视工具HP Toptools惠普远程管理卡的主要功能是可以实现对服务器的远程监控&#xff0c;其中包括察看日志、远程诊断、远程开/关机、重启等等。基于惠普远程管理卡的重要功能&#xff0c;本文将着重介绍惠普远程管理卡的…

java 错误登陆次数_纯java代码实现登陆次数验证,登陆错误5次之后锁定30分钟

本方法因为是根据思路纯手写&#xff0c;代码可以再简化&#xff0c;功能尝试没问题&#xff0c;最主要就是在登陆验证中的逻辑&#xff0c;checkLogin()方法是登录前的验证&#xff0c;而真正的登陆方式采用的是Shiro&#xff0c;若不是采用Shiro登陆&#xff0c;将该逻辑采用…

java 监听器 分类_java过滤器和监听器详解 分类: 学习专区

过滤器1、Filter工作原理(执行流程)当客户端发出Web资源的请求时&#xff0c;Web服务器根据应用程序配置文件设置的过滤规则进行检查&#xff0c;若客户请求满足过滤规则&#xff0c;则对客户请求&#xff0f;响应进行拦截&#xff0c;对请求头和请求数据进行检查或改动&#x…

linux java启动脚本文件_不错的linux下通用的java程序启动脚本

#!/bin/sh#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用&#xff0c;#也可以作为启动java程序的独立脚本来使用。##Author: tudaxia.com, Date: 2011/6/7##警告!!!&#xff1a;该脚本stop部分使用系统kill命令来强制终止指定的java程序进程。…

linux心跳包检测代码_OpenSSL心跳包越界读敏感信息泄漏漏洞

发布日期&#xff1a;2014-04-10CVE ID&#xff1a;CVE-2014-0160受影响的软件及系统&#xff1a;OpenSSL 1.0.1&#xff0d;OpenSSL 1.0.1fOpenSSL 1.0.2-betaOpenSSL 1.0.2-beta1未受影响的软件及系统&#xff1a;OpenSSL 0.9.8OpenSSL 1.0.0OpenSSL 1.0.1gOpenSSL 1.0.2-bet…

mysql数据库主要负责存储_mysql数据库自带数据库介绍

show databases&#xff1b;查看mysql自带数据库有information_schema&#xff0c;mysql&#xff0c; performance_schema&#xff0c; testinformation_schema数据库有40张表&#xff0c;如下。在MySQL中&#xff0c;把 information_schema 看作是一个数据库&#xff0c;确切说…

python 编辑数学公式_Jupyter快速编辑高大上数学公式 泰勒展开式

欢迎点击「算法与编程之美」↑关注我们&#xff01;本文首发于微信公众号&#xff1a;"算法与编程之美"&#xff0c;欢迎关注&#xff0c;及时了解更多此系列博客。人工智能的基础是机器学习&#xff0c;而通过之前的几篇博客了解到&#xff0c;机器学习的基础是数学…