首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在虚拟环境中安装Python-Dbus

在虚拟环境中安装Python-Dbus
EN

Stack Overflow用户
提问于 2012-11-14 01:31:50
回答 7查看 28.1K关注 0票数 23

我在一个需要访问DBus的虚拟环境中运行一个应用程序(主要是为了与网络管理器交互)。

我尝试用easyinstall和pip安装Dbus-Python,但都失败了。

当我尝试这样做的时候:

代码语言:javascript
复制
(myvirtualenv)borrajax@borrajax-computer:~/Documents/Projects/VirtualEnvs/current_env$ bin/pip install dbus-python

皮普冲我大喊大叫:

代码语言:javascript
复制
Downloading/unpacking dbus-python
  Downloading dbus-python-1.1.1.tar.gz (596kB): 596kB downloaded
  Running setup.py egg_info for package dbus-python
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
    IOError: [Errno 2] No such file or directory: '/home/borrajax/Documents/Projects/VirtualEnvs/current_env/build/dbus-python/setup.py'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

IOError: [Errno 2] No such file or directory: '/home/borrajax/Documents/Projects/VirtualEnvs/current_env/build/dbus-python/setup.py'

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /home/borrajax/Documents/Projects/VirtualEnvs/current_env/build/dbus-python
Storing complete log in /home/borrajax/.pip/pip.log

过去,我在python模块的Python dbus绑定和它们的“可访问性”方面遇到了一些问题,所以我真的不知道在虚拟环境中设置Dbus-Python的最佳方法是什么。有没有人成功做到了这一点?或者有人知道如何做到这一点?

提前谢谢你。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-11-14 03:40:07

pip试图安装一个包时,它会查找dbus-python没有的setup.py,所以你必须download the source并手动编译它。应该不会太难:

代码语言:javascript
复制
PYTHON=python3.3 ./configure --prefix=/tmp/dbus-python
make
make install

然后,您可以将编译后的文件移动到您的virtualenv。

编辑:从dbus-python-1.2.2 (发布于2016-02-22)开始,dbus-python有一个setup.py,所以pip应该能够安装它

票数 15
EN

Stack Overflow用户

发布于 2019-01-07 18:05:21

转到你的Venv,遵循以下两个步骤:

代码语言:javascript
复制
1)sudo apt-get install libdbus-glib-1-dev libdbus-1-dev

2)pip install dbus-python

通过以下方式进行验证:

代码语言:javascript
复制
3) pip freeze

如果安装正确,您将看到:dbus-

==1.2.8

票数 19
EN

Stack Overflow用户

发布于 2012-11-14 03:36:17

我的建议是为Python DBUS绑定安装系统包,然后使用--system-site-packages命令行选项创建virtualenv,以便能够从激活的virtualenv访问系统范围的Python包(包括dbus包)。例如在Debian/Ubuntu (或派生的发行版)上:

代码语言:javascript
复制
$ sudo apt-get install python-dbus
$ virtualenv --system-site-packages dbus-venv

使用内置的Python3 venv模块而不是virtualenv

代码语言:javascript
复制
$ sudo apt-get install python-dbus
$ sudo apt-get install python3-venv
$ python3 -m venv --system-site-packages my_venv
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13365697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档