如何在 Python 3 虚拟环境中安装 Err?

如何在 Python 3 虚拟环境中安装 Err?

我正在尝试安装在 Ubuntu Server 12.04.4 上。它需要 python 以及一堆依赖项。

当我按照安装说明操作时,我无法使用似乎是 Python 2.7 的“默认”版本使其工作。sleekxmpp 中似乎存在循环依赖(要求之一):

ImportError: cannot import name resolver

所以我的想法是改用 Python 3。我的系统已安装以下内容:

python                                          install
python-apt-common                               install
python-dbus-dev                                 install
python-minimal                                  install
python-pip                                      install
python-pkg-resources                            install
python-setuptools                               install
python2.7                                       install
python2.7-minimal                               install
python3                                         install
python3-minimal                                 install
python3.2                                       install
python3.2-minimal                               install

当我使用 pip 安装东西时,我不知道它使用的是 python 2 还是 3,或者实际上使用的是什么(我不知道如何控制要安装哪个版本的软件包,这些软件包基于哪个版本的 python pip freeze)。

我只想拥有一个使用最新版本 Python 3 的环境,而没有其他让我困惑的东西。所以我尝试安装virtualenv和设置环境,但它似乎只是另一个python2.7环境。简而言之,我不知道发生了什么,需要一些指点。

答案1

Err 引入了很多依赖项,因此我建议使用 Virtualenv 来安装它。因为他们提到从 Err v2.0 开始,他们在编写时就考虑了 Python 3,如果可以的话,您应该使用 Python 3(尽管 Err 也兼容 Python 2.7)。

要了解如何使用虚拟环境,看看它的文档并创建几个来体验和理解概念。基本上,virtualenv 是将每个项目的依赖项分开,并且不会与系统上默认安装的依赖项混淆。

从 Python 3.3 开始,Virtualenv 默认包含在标准库中。但由于您使用的是 Python 3.2,因此我们需要先安装它。

sudo apt-get install python3-pip
sudo pip3 install virtualenv

现在,创建用于安装 Err 的虚拟环境并按照上述文档激活它。我没有 Python 3.2,所以现在无法测试它,但下面的操作应该可以工作(假设您想在 处创建它~/venv/py3-err/):

python3 virtualenv.py ~/venv/py3-err/
. ~/venv/py3-err/bin/activate

一旦激活,使用 pip 安装 Err。由于您遇到问题sleekxmpp已报告此方面的一个错误并且这个问题已经在他们的 Github master 分支中修复了。因此,直接从那里安装它:

pip install https://github.com/gbin/err/archive/master.zip

如果您在此步骤中遇到任何构建错误,请下载基本构建包并重新运行上述命令:

sudo apt-get install build-essential cmake libffi-dev

安装完成后,您需要将config-template.pyas保存config.py在单独的数据目录中。保存cd到此目录,然后通过运行err.py或启动它err.py --daemon 遵循用户指南

相关内容