pyenchant RPM用于alt-install的python2.6. ELF类错误
我知道我遇到的问题是什么,但我对如何最好地解决它有点困惑。
我有一个 RHEL 5.4 的系统,安装了 Python2.6(通过 geekymedia 的 RPM 包)。一切似乎都在正常运行。当我调整一个规格文件时,我能够构建出与这个新 Python 安装兼容的 RPM 包。我是在同一台 64 位的系统上构建所有的 RPM 包。
[jduncan@mgi-ric-squid1 x86_64]$ rpm -qa python
python-2.4.3-27.el5
[jduncan@mgi-ric-squid1 x86_64]$ rpm -qa python26
python26-2.6-geekymedia1
[jduncan@mgi-ric-squid1 x86_64]$ rpm -qa enchant
enchant-1.4.2-4.el5.1
enchant-1.4.2-4.el5.1
[jduncan@mgi-ric-squid1 x86_64]$ rpm -qa python-enchant
python-enchant-1.5.1-7.2
这些 enchant 的 RPM 包是来自 RHEL 的默认软件库。
当我尝试导入 enchant 模块时,出现了以下警告,我无法创建字典对象:
[jduncan@mgi-ric-squid1 x86_64]$ python26
Python 2.6 (r26:66714, Feb 24 2010, 15:24:02)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import enchant
libenchant.so.1
** (process:10075): WARNING **: Error loading plugin: /usr/lib/enchant/libenchant_myspell.so: wrong ELF class: ELFCLASS32
>>> d = enchant.Dict("en_US")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/enchant/__init__.py", line 470, in __init__
self._switch_this(broker._request_dict_data(tag),broker)
File "/usr/lib/python2.6/site-packages/enchant/__init__.py", line 256, in _request_dict_data
self._raise_error(eStr % (tag,),DictNotFoundError)
File "/usr/lib/python2.6/site-packages/enchant/__init__.py", line 212, in _raise_error
raise eclass(default)
enchant.DictNotFoundError: Dictionary for language 'en_US' could not be found
简单升级到 enchant 1.5.1 会有效吗?还是需要更多的工作?
1 个回答
1
如果有人遇到类似的问题,可以参考以下步骤:
- 我先把RHEL版本的enchant卸载了。
- 然后下载了相同版本的RHEL源代码RPM包。
- 接着自己编译了一个只支持64位的enchant RPM包。
- 最后安装了这个包。
现在我的Py2.6的altinstall python-enchant包可以正常使用了。