Python安装MySQLDb模块的种种问题及解决
我的环境是:Linux version 2.4.21-4.EL
(bhcompile@daffy.perf.redhat.com) (gcc version 3.2.3 20030502 (Red Hat
Linux 3.2.3-20)) #1 Fri Oct 3 18:13:58 EDT 2003 + Python2.6.4
本文结合我安装时候的问题,总结而成
用户目录如/home/liuguanyu/ , 保证用户有root权限
1,看看有没有安装
进入python的命令行,输入 import MySQLdb 如果没有报错,证明此模块已经安装,可以跳过以下步骤。
2,切换到用户目录/home/liuguanyu,去下载最新的MySQLdb安装包:我下载的是MySQL-python-1.2.3c1.tar.gz 。这一步所有命令集如下:
wget -O python-1.2.3c1.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/project/mysql-python/mysql-python-test/1.2.3c1/MySQL-python-1.2.3c1.tar.gz
tar xzvf python-1.2.3c1.tar.gz
cd MySQL-python-1.2.3c1
python setup.py build
3,出现报错:ImportError: No module named setuptools
4,回到用户目录/home/liuguanyu,安装setuptools,我安装的是setuptools-0.6c8 ,这一步的所有命令集如下:
wget -O setuptools-0.6c8.tar.gz http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c8.tar.gz
tar xzvf setuptools-0.6c8.tar.gz
cd setuptools-0.6c8
python setup.py build
sudo python setup.py install
5,回到用户MySQLdb源码目录
6,运行 python setup.py build
7,报错:mysql_config not found
8,上一步报错因为mysql_config命令没有找到。
9,使用whereis mysql命令找到mysql安装目录,假设mysql安装在/usr/local/mysql
10, 回到MySQLdb源码目录.
11, vi setup_posix.py 或 vim
setup_posix.py打开配置文件。此时,找到mysql_config.path
一行,把路径前面加上第9步的mysql安装路径,bin目录。即mysql_config.path =
"/usr/local/mysql/bin/mysql_config"
12, 再次运行 python setup.py build
13, 报错 /usr/bin/ld: cannot find -lmysqlclient_r
14, 切换到root用户,执行
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
#请主意这个/etc/ld.so.conf,这个是ld的默认配置文
相关文档:
实验环境:windows xp + vim
文件:test.py。编码:ansi
我们的目标操作test.py中保存的非英文字母。
文件头的#encoding=utf8/gbk,这个是用来说明源文件的硬盘编码以便python识别[4]。
----------------------------------------------
输入:
x = '中文'
输出: 编译失败
编译时需要知道‘中文’的硬盘编 ......
我们在做软件开发的时候很多要用到多线程技术。例如如果做一个下载软件象flashget就要用到、象在线视频工具realplayer也要用到因为要同时下载media stream还要播放。其实例子是很多的。
线程相对进程来说是“轻量级”的,操作系统用较少的资源创建和管理线程。程序中的线程在相同的内存空间中执行,并共享许多 ......
# 直接插入排序
def InsertSort(mylist):
size = len(mylist)
i = 1
for i in range(1, size):
if mylist[i] < mylist[i - 1]:
tmp = mylist[i]
j = i - 1
mylist[j + 1] = mylist[j]
j = j - 1
while j > ......
#shell排序
def ShellPass(mylist, d):
size = len(mylist)
i = d
while i < size:
if mylist[i] < mylist[i - d]:
tmp = mylist[i]
j = i - d
mylist[j + d] = mylist[j]
j = j - d
while j >= 0 and mylist[j] > ......
#快速排序
def Partition(mylist, low, high):
tmp = mylist[low]
while low < high:
while low < high and mylist[high] >= tmp:
high = high - 1
if low < high:
mylist[low] = mylist[high]
low = low + 1
while low < hi ......