开发者社区> 优惠券发放> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Linux下安装pymysql步骤

简介: Linux下安装pymysql步骤 Linux下的安装 下载解压: [root@localhost]# wget http://ncu.dl.sourceforge.net/project/mysql-python/mysql-python/1.
+关注继续查看

Linux下安装pymysql步骤


Linux下的安装

下载解压:

[root@localhost]# wget http://ncu.dl.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz" target="_blank"
[root@localhost]# tar xfz MySQL-python-1.2.3.tar.gz
[root@localhost]# cd MySQL-python-1.2.3 #进入MySQL-python目录,查看site.cfg文件的mysql-config配置,如果与实际不符合,请自行修改

[root@localhost]# python setup.py build #注意啦,这一步是一定要做的,不然就安装不成功。

[root@localhost]# python setup.py install #正式安装

然后进入:
$python
>>>import MySQLdb
搞定
一切正常,好啦.

 

三、常见问题

问题1:
[root@localhost]# python setup.py build
Traceback (most recent call last):
File “setup.py”, line 5, in
from setuptools import setup, Extension
ImportError: No module named setuptools

1、下载一个文件
[root@localhost]# wget http://peak.telecommunity.com/dist/ez_setup.py
2、运行安装 setuptools:
[root@localhost]# python ez_setup.py
3、然后build,install

PS:如果没外网
1、先运行python ez_setup.py,有个一个下载的文件。
如我这个版本:http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg
2、去有公网的机器下载
wget “http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg”
3、然后传到与ez_setup.py同一目录下,然后运行
[root@localhost]# python ez_setup.py

问题2:

当我在MySQLdb的源码路径build及install完,并导入模块时,发生警告:
>>> import MySQLdb
/usr/local/lib/python2.5/site-packages/MySQL_python-1.2.3c1-py2.5-linux-x86_64.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/local/lib/python2.5/site-packages/MySQL_python-1.2.3c1-py2.5-linux-x86_64.egg/_mysql.pyc, but /root/MySQL-python-1.2.3c1 is being added to sys.path
import sys, pkg_resources, imp

原因是,install后MySQLdb模块已经被放到python的site-pachages目录中;但我在当前目录也存在相同的模块,所以可能会重复导入。只要切换到其他目录运行就可以了。

问题3:

Traceback (most recent call last):
File "setup.py", line 15, in <module>
metadata, options = get_config()
File "D:\Jeffrey\Development\Software\MySQL-python-1.2.3\setup_windows.py", li
ne 7, in get_config
serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_ke
y'])
WindowsError: [Error 2]

这一步又是google了半天,历经千辛万苦,找到下面的解决方案:

首先在setup_windows.py里看到:

serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key'])
mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location')

就是在注册表找不到registry_key,这是在site.cfg里定义的:

registry_key = SOFTWARE\MySQL AB\MySQL Server 5.0,按这篇文章修改了一下site.cfg成:

registry_key = SOFTWARE\MySQL AB\MySQL Server 5.5

另外一种不折腾的方法:
在google上找:"download compiled python 2.6 mysql for windows"

直接下载那个MySQL-python-1.2.3.win32-py2.6.exe文件安装吧,简单的解决花了一晚上的时间的问题吧!

==============================================================================

问题:在输入中文时,报告1406 Data too long for column ... 或Data truncated for column 错误

解决:根据网上有人说的,mysql默认编码、请求的页面编码和sql请求编码都要以utf8,根据自己配置的经验,按照下面方式配置成功:

1、mysql安装时,要选编码utf8,如手工配置,在my.ini中如下:
default-character-set=utf8

说明:也可以在创建数据库时指定数据库的默认字符集

CREATE DATABASE IF NOT EXISTS blog default charset utf8 COLLATE utf8_general_ci;

2、django中models.py文件要保存为utf8格式,如编辑器没默认设定为按此格式保存,可以通过声明方式,在第一行加入下面声明
#coding=utf-8

3、我的settings.py语言设置,不过我认为这只是指定默认的界面呈现语言,若只为使数据库输入支持中文,应该不用设置:
LANGUAGE_CODE = 'zh-cn'

===========================================================================

在windows下停止和启动mysql:

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqladmin -u root -p shutdown

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqladmin -u root -p start

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqld-nt --console

原文地址http://www.bieryun.com/3670.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
linux中cat、more、less命令区别详解
众所周知linux中命令cat、more、less均可用来查看文件内容,主要区别有:cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况;more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。
1947 0
linux命令之 ifconfig
<p style="margin: 0pt auto; padding-top: 0px; padding-bottom: 0px; text-indent: 21pt; color: rgb(51, 51, 51); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 23px;"
1883 0
linux date命令
date +%Y   四位数年    %y   两位数年 ${date}   变量引用
951 0
Linux tree命令
Linux tree命令用于以树状图列出目录的内容。 执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。 语法 tree [-aACdDfFgilnNpqstux][-I ][-P ][目录...] 参数说明: -a 显示所有文件和目录。
800 0
+关注
优惠券发放
阿里云优惠码阿里云推荐券bieryun.com
456
文章
25
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载