python - Enthought Canopy 不适用于 Fedora。给出与未找到 Zlib 相关的错误

标签 python linux python-2.7 fedora canopy

我从 Enthought canopy 站点的链接提供的 .sh 文件安装了 canopy,然后在 cd 进入 Canopy 目录后运行以下命令。

Ashish@LoneWarrior Canopy]$ ./canopy
Subprocess output:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/Ashish/Canopy/appdata/canopy-2.1.3.3542.rh6-x86_64    /lib/python2.7/site-packages/pyface/gui.py", line 20, in <module>
from .toolkit import toolkit_object
  File "/home/Ashish/Canopy/appdata/canopy-2.1.3.3542.rh6-x86_64/lib/python2.7/site-packages/pyface/toolkit.py", line 99, in <module>
_init_toolkit()
  File "/home/Ashish/Canopy/appdata/canopy-2.1.3.3542.rh6-x86_64/lib/python2.7/site-packages/pyface/toolkit.py", line 65, in _init_toolkit
    be = import_toolkit(ETSConfig.toolkit)
  File "/home/Ashish/Canopy/appdata/canopy-2.1.3.3542.rh6-x86_64/lib/python2.7/site-packages/pyface/toolkit.py", line 58, in import_toolkit
    __import__(be + 'init')
  File "/home/Ashish/Canopy/appdata/canopy-2.1.3.3542.rh6-x86_64/lib/python2.7/site-packages/pyface/ui/qt4/init.py", line 18, in <module>
from pyface.qt import QtCore, QtGui, qt_api
  File "/home/Ashish/Canopy/appdata/canopy-2.1.3.3542.rh6-x86_64/lib/python2.7/site-packages/pyface/qt/QtGui.py", line 8, in <module>
from PySide.QtGui import *

这是主要错误:未找到 ZLIB_1.2.9。

ImportError: /home/Ashish/Canopy/appdata/canopy-2.1.3.3542.rh6-x86_64/bin/../lib/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib64/libpng16.so.16)

我已经尝试将 python 默认值更改为 3,但它仍然无法正常工作。

最佳答案

我认为问题出在基于 Arch 的发行版上。在这种情况下,临时 解决方案是将 libpng 降级到 1.6.28(这在我的案例中有效)。如果您的缓存中没有它 (`/var/cache/pacman/pkg'),您可以从 https://archive.archlinux.org/packages/l/libpng/ 下载它。

然后,关注https://wiki.archlinux.org/index.php/downgrading_packages在下载文件的目录下运行

# pacman -U libpng-1.6.28-1-x86_64.pkg.tar.xz

(当然有正确的架构)

不要忘记将 /etc/pacman.conf 中的 libpng 列在被忽略的包中,以防止升级。查找 [options] 部分并添加 IgnorePkg = libpng

重要。请记住,降级软件包并非无害,因此,这只是一个临时解决方案。

关于python - Enthought Canopy 不适用于 Fedora。给出与未找到 Zlib 相关的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45654480/

相关文章:

python - 字符串格式化,从右而不是左修剪

python - 将生成器对象转换为列表

python - 使用 Selenium Python 的复选框

python - 使用 numpy 进行智能索引

c++ - 如何使唯一字符串更短并保持唯一性

linux - 如何编写脚本来识别和操作终端中的特定驱动器?

linux - 删除早期版本后如何在Linux上安装Android SDK? (2017年3月)

python - 如何检查 argv 是否引用 python2.7 中的现有文件?

python - 交换 CSV 文件中的列

python - Enthought Python 发行版中的 Ipython 自动完成