2017-04-11 174 views
1

安装Mozilla自动化客户端'marionette_driver'时出错。安装Firefox'marionette_driver'python软件包时出错

的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/ 

画中画的这些变化安装命令产生相同的误差。

$ 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会发生同样的错误。

+1

'assert sys.version_info [0] == 2'表示只能为Python 2.x安装。 –

+1

但是,错误发生在'mozrunner'中,这似乎是您需要的软件包的依赖关系。也许先尝试找到一个Py3兼容版本的'mozrunner'。 –

+0

谢谢你教我阅读我的错误消息,疯狂物理。我必须承认,我对它有点模糊。你击中了要害。我在谷歌推行了你的建议,事实上,mozunner和其他8个Mozilla的moz包似乎是古怪而古老的,几乎是未被转换为Python 3的200个最常用的Python包中唯一的包。 (参考:https://python3wos.appspot.com)。 – markling

回答

1

当您安装marionette_drivermozrunner依赖关系时会出现错误。该错误消息表明它正在检查它是否正在Python版本2.x(assert sys.version_info[0] == 2)上运行,该错误与您预期的一样。不幸的是,在写作时,没有的mozrunner的Python 3兼容的版本,所以它看起来像你将不能够如果您正在使用虚拟环境(安装marionette_driver为Python 3

例如用virtualenvanaconda,或类似的),你应该能够创建一个Python 2环境并且在那里安装它,使用pip

此外,在大多数Unix类系统中,你可以同时安装Python 2和3。一般情况下,可执行文件将被称为python2python3,与他们的一个符号链接到默认python。对应的pip2pip3可执行文件也是如此。如果您的系统上安装了Python 2,那么通过pip2运行安装可能会更好。