【发布时间】:2021-10-24 20:47:07
【问题描述】:
我正在尝试运行用 python 2 编写的benchmarks game repo bencher script,它需要gtop 模块,而不是pygtop 模块。在到处搜索甚至遵循他们的 README.md 之后,我无法弄清楚如何在我的 python 2.7.18 虚拟环境(使用 pyenv 创建和维护)中获得它。
我决定看一下我的系统版本的 python 2.7.18,因为我遵循了这个SO reply 的指南,并且成功下载/安装了包。我的系统版python可以导入模块就好了:
Python 2.7.18 (default, Mar 8 2021, 13:02:45)
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtop
>>> gtop.__file__
'/usr/lib/python2.7/dist-packages/gtk-2.0/gtop.so'
所以显然它是作为.so 出现的,我研究过它就像 Ubuntu 的 DLL 库(如果我错了,请纠正我)?
有没有办法让我把它复制到我的相同 python 版本的虚拟环境中?
【问题讨论】:
-
这里的 python-dbus 似乎也有类似的问题:stackoverflow.com/a/13710008/1581658 是否有帮助将哪些文件复制到您的虚拟环境中?
-
你是对的,
.so相当于 Linux 中的DLL它们都被称为共享库。 (它们的工作方式存在一些差异 - 但它们完成相同的任务 - 提供可以由其他正在运行的程序加载的编译代码) -
@SamBob 感谢您提供链接!我相信类似的东西是解决方案。基本上我一直在做的是将
gtk-2.0目录复制到我的virtualenvssite-packages目录中。我所做的只是将gtop.so直接复制到virtualenvssite-packages目录中,它似乎识别它没有问题。非常奇怪的是,如果它在site-packages下是独立的,它如何只识别包...
标签: python python-2.7 pyenv