安装 Firefox 'marionette_driver' python 包时出错

Error installing Firefox 'marionette_driver' python package

安装 Mozilla 自动化客户端时出错 'marionette_driver'。

Mozilla documentation 说要使用以下命令安装:

$ pip install marionette_driver

这会产生错误:

Collecting marionette_driver
  Downloading marionette_driver-2.2.0.tar.gz
Collecting mozrunner>=6.13 (from marionette_driver)
  Downloading mozrunner-6.13.tar.gz (67kB)
    100% |████████████████████████████████| 71kB 1.5MB/s
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-0829rk11/mozrunner/setup.py", line 24, in
<module>
        assert sys.version_info[0] == 2
    AssertionError

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in
/tmp/pip-build-0829rk11/mozrunner/

pip install 命令的这些变体产生相同的错误。

$ sudo pip install marionette_driver
$ sudo -H pip install marionette_driver
$ pip3 install marionette_driver
$ sudo pip3 install marionette_driver
$ sudo -H pip3 install marionette_driver

(debian 系统似乎需要 pip3 来安装 python3 软件包,而有人建议使用 sudo -H 可以避免 egg_info 错误。似乎没有什么区别。)

我安装了 Python 2.7 和 3.5。我通常希望 pip 安装 python 2 个包。但是我用的是3.5,我知道什么?不管怎样,使用pip和pip3都会出现同样的错误。

安装marionette_drivermozrunner依赖时出现错误。错误消息表明它正在检查它是否是 Python 版本 2.x (assert sys.version_info[0] == 2) 上的 运行,这正如您预期的那样失败了。不幸的是,在撰写本文时,还没有 mozrunner 的 Python 3 兼容版本,因此您似乎无法为 Python 3 安装 marionette_driver

如果您正在使用虚拟环境(例如 virtualenvanaconda 或类似环境),您应该能够创建 Python 2 环境并使用 pip.

此外,在大多数类 Unix 系统上,您可以同时安装 Python 2 和 3。通常,可执行文件将被称为 python2python3,其中之一符号链接到默认 python。相应的 pip2pip3 可执行文件也是如此。如果您的系统上安装了 Python 2,那么您可能 运行 通过 pip2 进行安装。