您现在的位置是:首页 > 文章详情

Linux下安装pymysql步骤

日期:2018-05-06点击:494

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

原文链接:https://yq.aliyun.com/articles/590442
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章