- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用的是自动安装 python 2.4 的 redhat 5.8,但我使用的是需要 python 2.6 或更高版本的 python 包。所以,我安装了python 2.7和2.4,以免踩到系统版本。
现在,我尝试通过pip 安装一个包,并得到以下错误:
CompressionError: bz2 module is not available
但是,我确实在我的机器上安装了该模块,正如我这样做时服务器版本提供的证据:
[~]$ python -c "import bz2; print bz2.__doc__"
The python bz2 module provides a comprehensive interface for
the bz2 compression library. It implements a complete file
interface, one shot (de)compression functions, and types for
sequential (de)compression.
和2.7这样安装报错:
[~]$ python2.7 -c "import bz2; print bz2.__doc__"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named bz2
所以,我已经阅读了这些问题: Already installed还有这个very good one , 但这些似乎都不是很正确。在第一种情况下,建议是安装缺少的部分,第二个问题是删除(或停止引用)额外的 python 安装。
我想做的是放入一个符号链接(symbolic link)或类似的东西,以便 python 2.7 安装知道 bz2 在哪里,这样我就可以使用 pip 安装 python 包。
谢谢,B
编辑:更多信息
因此,经过大量研究,似乎路径变量的建立方式在 python 2.5 中发生了巨大变化(可能是 red hat 没有更新的原因)。
因此,在 python 2.7 中,您可以通过在此文件夹中添加一个扩展名为 .pth 的文件来添加到 PYTHONPATH 变量:
/usr/local/lib/python2.7/site-packages/
我已经尝试了两种方法来让它正常工作。
首先,我简单地将一些 python 2.4 路径文件提供给 2.7。这导致了不同类型的错误:
[~]$ python2.7 -c "import bz2; print bz2.__doc__"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: /usr/lib64/python2.4/lib-dynload/bz2.so: undefined symbol: Py_InitModule4
所以,那是一些东西。
我还尝试将路径指向/usr/lib/中的 libbz2.so 文件,这导致了熟悉的错误:
[~]$ python2.7 -c "import bz2; print bz2.__doc__"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named bz2
我仍然被难住了,但我觉得我正在接近。
我真的可以使用具有更多编程环境设置经验的人的一些输入。我更愿意写代码:)
最佳答案
昨天刚刚在同一个平台上做了这个并且让它工作了。这是我所做的:
设置 CFLAGS="-I/path/to/bz2/include"
和 LDFLAGS="-L/path/to/bz2/lib"
。确保在 LD_LIBRARY_PATH
中设置了 bz2 库路径。不过,您可能需要执行 make distclean
和 configure && make && make install
。
如果还是不行,直接编辑setup.py,进行类似下面的替换:
# Gustavo Niemeyer's bz2 module.
if (self.compiler.find_library_file(['/home/someuser/packages/libbz2/lib'], 'bz2')): #lib_dirs, 'bz2')):
请注意,第二行末尾的注释部分是 setup.py 行的原始其余部分。
此外,我发现只需下载并构建最新版本的 bz2 并将以上所有内容指向这一点,这比尝试让系统安装的版本工作更容易。
无论如何,这绝对有效。我昨天做的:)
关于python - 你如何将 bz2 分配给 python 的 altinstall?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13915137/
我应该如何在 lex(或 flex)中进行编程以从文本中删除嵌套注释并仅打印不在注释中的文本?我可能应该以某种方式识别我在评论中时的状态以及 block 评论的起始“标签”的数量。 让我们制定规则:
我按照 bz's demo 创建了一个可调整大小的表格列代码 但是当我创建超过 30 个列时,代码不起作用。我正在创建的表格非常简单: Column 1
我从我的教授那里得到了这个问题。 取一个整数 N 和一个具有 X 个整数的数组 A(非空)。您需要将数组 A 分成两部分,第一个数组 Ax(左数组)包含等于整数 N 的数字,数组 Ay(右数组)包含相
我发现很多页面都在说明如何解压 tar.bz2 文件,但是如何解压 tar.bz 文件呢? 最佳答案 使用 tar 的 -j 选项。 tar -xjf /path/to/archive.tar.bz
我想写一个匹配的正则表达式 a a-b 但前提是这些序列后面没有 Z ((a(-b)?)(?!Z)) a matches a ok a-b matches a-b
我正在尝试运行一些面部正面化代码(在 Windows10 上使用 Python3),该代码使用 opencv 和 dlib 并需要一个名为 shape_predictor_68_face_landma
尝试从 cassandra 执行 WordCount 示例并出现错误: 线程“主”java.lang.NoSuchMethodError 中的异常:org.apache.thrift.meta_dat
我正在尝试编写一个实用函数来打开三种不同类型的文件:.bz2、.gz 和 .txt。我不能只使用 File.read,因为它会返回压缩文件的垃圾。我正在尝试使用 Open3.popen3 以便我可以给
我是一名优秀的程序员,十分优秀!