Ошибка при установке пакета python marionette_driver для Firefox

Ошибка установки клиента автоматизации Mozilla «marionette_driver».

Mozilla документация рекомендует установить следующую команду:

$ 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 вызывают одну и ту же ошибку.

$ 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, в то время как было высказано предположение, что ошибки egg_info можно избежать, используя sudo -H. Кажется, это не имеет значения.)

У меня установлены Python 2.7 и 3.5. Обычно я ожидаю, что pip установит пакеты python 2. Но я использую 3.5, так что я знаю? Во всяком случае, та же ошибка возникает при использовании pip и pip3.


person markling    schedule 11.04.2017    source источник
comment
assert sys.version_info[0] == 2 означает, что его можно установить только для Python 2.x.   -  person Mad Physicist    schedule 11.04.2017
comment
Однако ошибка возникает в mozrunner, которая, по-видимому, является зависимостью от нужного вам пакета. Возможно, сначала попробуйте найти Py3-совместимую версию mozrunner.   -  person Mad Physicist    schedule 11.04.2017
comment
Спасибо, что научили меня читать сообщения об ошибках, Mad Phys. Должен признаться, я немного затуманил глаза. В точку. Я последовал вашему предложению в Google, и действительно, mozunner и 8 других пакетов Mozilla Moz, как ни странно и архаично, кажутся почти единственными среди 200 наиболее часто используемых пакетов Python, которые не были преобразованы в Python 3. (ссылка: python3wos.appspot.com).   -  person markling    schedule 11.04.2017
comment
Я превращу это в ответ, чтобы вы могли проголосовать/выбрать.   -  person Mad Physicist    schedule 11.04.2017


Ответы (1)


Ошибка возникает при установке зависимости mozrunner от marionette_driver. Сообщение об ошибке указывает, что он проверяет, работает ли он на Python версии 2.x (assert sys.version_info[0] == 2), что, как и следовало ожидать, завершается ошибкой. К сожалению, на момент написания статьи версия mozrunner не совместима с Python 3, поэтому похоже, что вы не сможете установить marionette_driver для Python 3.

Если вы используете виртуальные среды (например, с virtualenv, anaconda или подобными), вы сможете создать среду Python 2 и установить ее там с pip.

Кроме того, в большинстве Unix-подобных систем вы можете установить как Python 2, так и Python 3. Обычно исполняемые файлы будут называться python2 и python3, причем один из них будет символически связан со стандартным python. То же самое касается соответствующих исполняемых файлов pip2 и pip3. Возможно, вам повезет больше, если вы запустите установку через pip2, если в вашей системе установлен Python 2.

person Mad Physicist    schedule 11.04.2017