找 不到:libpython2.6.so
libpython2.6.so是PYTHON在运行时需要用到的组件,在加载其它扩展模块、运行一些PYTHON的程序时,都有可能需要用到它。
但是在安装python时不一定会默认生成libpython2.6.so.1.0,而且即使生成了可能目录所在地系统也调用不了。
这个时候你或许可以这样做:
安装python时加入--enable-shared参数,如:
先:./configure --enable-shared
然后:make && make install
这样即会生成libpython2.6.so.1.0
由于系统可能找不到它(这种情况特别是在进行python升级安装的时候出现。),所以需要建立一个链接文件,将其放入/usr/lib下,我是为保险起见,把文件也拷过去了:
cd /usr/lib
cp 安装目录/libpython2.6.so.1.0 /usr/lib/
ln -s libpython2.6.so.1.0 libpython2.6.so
这样就可以了。
----------------------------------------------------------------------------------------------------
.ImportError: DLL load failed: 找不到指定的模块。
D:/usr/local/Python26>python
Python 2.6 (r26:66721, Oct 2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
D:/usr/local/Python26/lib/site-packages/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated
from sets import ImmutableSet
解决方法:(其实是把这个模块去掉了)
1) 在文件中 "__init__", 注释掉:
from sets import ImmutableSet
class DBAPISet(ImmutableSet):
新增:
class DBAPISet(frozenset)
2) 在文件中"converters.py", 注释掉 from sets import BaseSet, Set 这一句话。
3) 在文件中"converters.py", 修改 "Set" 成为 "set" ( 只有两个地方需要修改):
大概 line 48: return Set([ i for i in s.split(',') if i ]) 》》 return set([ i for i in s.split(',') if i ])
大概 line 128: Set: Set2Str, 》》 set: Set2Str
参见:http://sourceforge.net/forum/message.php?msg_id=5808948
----------------------------------------------------------------------------------------------------