【发布时间】:2015-04-21 15:18:02
【问题描述】:
我正在尝试使用带有 PYENV 的 virtualenv 构建中的 deluge。
为此,我使用 pyenv 构建了一个 python 2.7.9。
我已将 pyenv global 设置为 2.7.9,然后安装了 deluge 包:
apt-get install deluded deluge-console
一切都很好,但是当我尝试这样做时:
导入洪水
它给出 ImportError。
2.7.9 环境中的点子冻结正确显示 deluge 包:
spadazz@Deluger:~/.pyenv/versions/2.7.9$ pip freeze
apt-xapian-index==0.44
chardet==2.0.1
command-not-found==0.2.44
deluge==1.3.11
用 dpkg -l 对 ubuntu 安装的 deluge 软件包进行检查,我可以看到 deluge python 软件包可以在 /usr/lib/python2.7/dist-packages 找到,所以将此路径添加到 python sys.path ,允许我手动导入包。
我的问题是这不能是手动的,而且 deluge 包不是我的程序请求的,而是来自 flexget 包,它在这个配置中运行顺利。
我在 pyenv 方面没有经验,我找不到在 pyenv virtualenv 下设置 PYTHON_PATH 的简单方法,或者任何其他允许我在 virtualenv 下调用系统 python 中的 deluge 包的解决方法。
有什么建议吗?
TIA 恩里科
- 从 Ubuntu Server 12.04 运行
- pyenv 20150326-483-g10d5d9a
【问题讨论】:
-
您的 pip 安装似乎可以访问您使用的 Python 版本无法访问的某些包。如果你这样做
pip freeze -l,你会得到什么? -
抱歉,在这几分钟内,我更改了原始配置。通过将 python 2.7.9 符号链接到站点包中,我设法让 python 2.7.9 看到洪水。它现在可以工作,但并不理想。如果 deluge 可以作为 pip 包使用,那么这一切都没有必要了。
-
这就是你要找的洪水吗? pypi.python.org/pypi/deluge-client/1.0.2 如果是,您可以在您的 venv 中执行
pip install deluge-client。 -
是的,我看到了,但它是一个不同的包。我不认为是这样,但我可以试试。
-
不幸的是,它不是同一个包。 Flexget 期望找到“deluge”,而不是“deluge-client”。是否可以在本地重新打包系统 dist 中找到的 deluge 包以在 virtualenv 中使用它?
标签: python virtualenv pyenv