我们使用的库依赖于另一个名为Jellyfish
的库。该库实现了逻辑,如果有cpython
版本,它将导入该版本。否则,它将使用pypy
版本
Pypy有一个已知的问题(参考:https://github.com/jamesturk/jellyfish/issues/46),其中变音库的Pypy实现与cpython版本不一致
在我同事的虚拟环境中,他们都有安装时创建的文件cjellyfish.cpython-34m.so
,但我没有。因此,我的代码的行为与他们的不同(我们最终会在try/except的另一边:https://github.com/jamesturk/jellyfish/blob/master/jellyfish/init.py)
我很好奇为什么我的系统没有cjellyfish.cpython-34m.so
文件,而其他系统有。诚然,这可能是因为我不太熟悉pip安装过程的一部分以及编译可能发生的阶段
所以我有几个问题,所有这些都可能是相关的:
1) 你能想到什么会导致文件无法生成吗?
2) 在编译失败的情况下,是否有一个地方可以查找错误/日志消息?
3) 有人能给我解释一下或者给我指出一个资源,关于生成编译的cpython.so
文件的pip install somelibrary
过程中发生了什么
我的系统信息:
#45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018
platform.python_implementation()
是CPython
本地的(与我同事的匹配)platform.python_compiler()
是“gcc7.3.0”,与我的同事不同(例如GCC 4.4.7 20120313 (Red Hat 4.4.7-11)
)
1该问题已修复并解决
2您应该检查
pip install log /tmp/metaphone.txt ignore-installed metaphone
和/tmp/metaphone.txt
日志文件的输出,看看是否缺少构建*.so
所需的组件相关问题 更多 >
编程相关推荐