Python MySQL Django一些问题
首先是MySQL的问题,最新的5.5.11版本安装后,命名已经启用远程连接功能,但是使用MySQL的第三方客户端提示无法获取HostName,解决方法是:在MySQL安装目录下找到my.ini文件,然后查找[mysqld],在下面加入:
skip-name-resolve
skip-grant-tables
在Django环境下(Python2.6,Django 1.2.3版本),使用MySQL连接需要安装MySQL数据库驱动,推荐大家到http://code.google.com/p/pymysql/downloads/list 下载即可,或者搜索下MySQL-python-1.2.2.win32-py2.6.exe。
关于运行manage.py sqlall时出现“x:\Python26\lib\site-packages\MySQLdb\__init__.py:34: DeprecationWarning: the sets module is deprecated”错误,需要将set注释即可,具体操作:
#From: http://www.cnblogs.com/mindmac/archive/2012/03/11/2390613.html
1) 在文件 "__init__.py"(文件位置位于错误提示位置,如上面提示错误为\Python2.6\Lib\site-packages\MySQLdb\__init__.py,即为需修改文件路径), 注释掉:
from sets import ImmutableSet
class DBAPISet(ImmutableSet):
在注释掉的后面紧接着新增:
class DBAPISet(frozenset):
即可。
2) 在文件中"converters.py", 注释掉 from sets import BaseSet, Set 这一句话。
3) 在文件中"converters.py", 修改 "Set" 成为 "set" ( 只有两个地方需要修改):
大概 line 45: return Set([ i for i in s.split(',') if i ]) ——> return set([ i for i in s.split(',') if i ])
大概 line 129: Set: Set2Str, ——> set: Set2Str