2017-04-11 173 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運行安裝可能會更好。