Bor*_*jaX 20 python installation dbus virtualenv
我在需要访问DBus的虚拟环境中运行应用程序(主要是与网络管理器交互).
我尝试使用easyinstall和pip安装Dbus-Python,但都失败了.
当我尝试这样做时:
(myvirtualenv)borrajax@borrajax-computer:~/Documents/Projects/VirtualEnvs/current_env$ bin/pip install dbus-python
Run Code Online (Sandbox Code Playgroud)
皮普对我大吼大叫:
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
Run Code Online (Sandbox Code Playgroud)
我以前在python dbus绑定和Python模块的"可访问性"方面遇到了一些问题,所以我真的不知道在虚拟环境中设置Dbus-Python的最佳方法.有没有人成功实现这一点?或者有人知道如何做到这一点?
先感谢您.
Ped*_*ano 15
我的建议是安装Python DBUS绑定的系统包,然后使用命令行选项创建virtualenv,--system-site-packages
以便dbus
从激活的virtualenv访问系统范围的Python包(包括包).例如在Debian/Ubuntu(或派生的发行版)上:
$ sudo apt-get install python-dbus
$ virtualenv --system-site-packages dbus-venv
Run Code Online (Sandbox Code Playgroud)
要使用内置的Python 3 venv
模块而不是virtualenv
:
$ sudo apt-get install python-dbus
$ sudo apt-get install python3-venv
$ python3 -m venv --system-site-packages my_venv
Run Code Online (Sandbox Code Playgroud)
mat*_*ata 15
当pip
试图安装一个包时,它会查找setup.py
,dbus-python
但没有,所以你必须下载源并手动编译它.不应该太难:
PYTHON=python3.3 ./configure --prefix=/tmp/dbus-python
make
make install
Run Code Online (Sandbox Code Playgroud)
然后你可以将编译后的文件移动到virtualenv.
编辑:从dbus-python-1.2.2开始(2016-02-22发布)dbus-python有一个setup.py
,所以pip应该可以安装它
Tis*_*sho 10
另一种解决方法是直接手动将dbus
文件/库复制到virtualenv:
cp -r /usr/lib/pythonX.X/{site or dist}-packages/dbus myvirtenv/usr/lib/pythonX.X/site-packages/
cp -r /usr/lib/pythonX.X/{site or dist}-packages/_dbus_*.so myvirtenv/usr/lib/pythonX.X/site-packages/
Run Code Online (Sandbox Code Playgroud)
cry*_*KTM 10
转到您的Venv,请按照以下两个步骤操作:
1)sudo apt-get install libdbus-glib-1-dev libdbus-1-dev
2)pip install dbus-python
Run Code Online (Sandbox Code Playgroud)
验证:
3) pip freeze
Run Code Online (Sandbox Code Playgroud)
如果安装正确,您将看到:dbus-python == 1.2.8
归档时间: |
|
查看次数: |
22035 次 |
最近记录: |