【发布时间】:2016-04-17 22:20:21
【问题描述】:
编辑:如果您将此问题投票为重复问题,请至少花时间阅读该问题,而不是仅仅将其标记为重复问题,因为它看起来与另一个问题有些相似。如果您这样做,您会立即意识到它不是重复的。我只是想展示一些更广泛的背景。
我的发行版仍然使用 Python 2.6 作为 Python 解释器。现在我想使用一个需要 Python 2.7 的模块。我安装了 Python 2.7,但它会破坏其他应用程序。于是我搭建了一个以 Python 2.7 作为解释器的虚拟环境:
virtualenv -p ~/pkg/bin/python2.7 venv
如果我激活虚拟环境并运行 python,则使用新的解释器。好的!现在我需要import 模块,例如
import gtk
这适用于全局(即在 Python 2.6 中),但不适用于我的虚拟环境(即在 Python 2.7 中)。我尝试为虚拟环境设置相同的sys.path,但这会给我诸如
ImportError:/usr/lib64/python2.6/site-packages/gtk-2.0/glib/_glib.so:未定义符号:PyUnicodeUCS4_DecodeUTF8
有点出乎意料。
搜索
pip search gtk
也不会导致任何结果。我现在最好的猜测是我必须从源代码安装 gtk,然后针对 Python 2.7 编译它。但是,这会引入其他依赖项,并且在这个漏洞中走了大约 7 或 8 步,我辞职了。
有没有更简单的方法来解决这个问题?
【问题讨论】:
-
@snakecharmerb 不是这样。 pfnuesel:不,你不能在 Python 2.7 中使用 Python 2.6 C 扩展。相反:考虑升级您的操作系统,以便获得 2.7 或更好的体面 Python 3。
-
@AnttiHaapala 是的,这对我来说很有意义。升级虽然是个好建议,但不幸的是,这是不可能的,因为这是我们在数千台服务器上运行的服务器操作系统。
-
@snakecharmerb 查看我的编辑。
标签: python python-2.7 gtk virtualenv pygtk