您的位置:首页 > 编程语言 > Python开发

服务器配置python时一些问题的处理方法

2010-07-01 22:23 711 查看
不到: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

----------------------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐