Получение этой странной недопустимой синтаксической ошибки при использовании urllib3/requests

Следуя тому, что предложили другие в: -active-inactive">Учитывая большой список URL-адресов, как можно проверить, какие из них активны/неактивны?

Получение ошибки при попытке установить запросы, используя urllib3.

Пытаюсь установить запросы.

C:\Users\yao\Desktop\My Downloads\requests-develop\requests-develop>setup.py install
Traceback (most recent call last):
  File "C:\Users\yao\Desktop\My Downloads\requests-develop\requests-develop\setup.py", line 6, in <module>
    import requests
  File "C:\Users\yao\Desktop\My Downloads\requests-develop\requests-develop\requests\__init__.py", line 52, in <module>
    from . import utils
  File "C:\Users\yao\Desktop\My Downloads\requests-develop\requests-develop\requests\utils.py", line 22, in <module>
    from .compat import parse_http_list as _parse_list_header
  File "C:\Users\yao\Desktop\My Downloads\requests-develop\requests-develop\requests\compat.py", line 95, in <module>
    from .packages import chardet
  File "C:\Users\yao\Desktop\My Downloads\requests-develop\requests-develop\requests\packages\__init__.py", line 3, in <module>
    from . import urllib3
  File "C:\Users\yao\Desktop\My Downloads\requests-develop\requests-develop\requests\packages\urllib3\__init__.py", line 16, in <module>
    from .connectionpool import (
  File "C:\Users\yao\Desktop\My Downloads\requests-develop\requests-develop\requests\packages\urllib3\connectionpool.py", line 434
    except Empty as e:
                  ^
SyntaxError: invalid syntax

Попытка использовать urllib3.

C:\Users\yao\Desktop\ad stuff\find urls>reqs.py
Traceback (most recent call last):
  File "C:\Users\yao\Desktop\ad stuff\find urls\reqs.py", line 1, in <module>
    import re, csv, urllib3
  File "build\bdist.win32\egg\urllib3\__init__.py", line 16, in <module>
  File "C:\Python25\lib\site-packages\urllib3-dev-py2.5.egg\urllib3\connectionpool.py", line 435
    except Empty as e:
                  ^
SyntaxError: invalid syntax

Недавно установил setuptools, pip, request, urllib3. В этой последовательности. Я что-нибудь напутал? Используя Python 2.5, кстати.


person iCodeLikeImDrunk    schedule 23.11.2012    source источник


Ответы (1)


urllib3 требуется Python 2.6 или выше. Из их README:

  • Протестировано на Python 2.6+ и Python 3.2+.

Они отказались от поддержки Python 2.5 в версии 1.2, что был выпущен в январе 2012 г.:

Прекращена поддержка Python 2.5 (проверено на 2.6.7, 2.7.2)

В Python 2.6 добавлен новый синтаксис для обработки исключений, как вы можете прочитать в Что нового в Python 2.6< /а>:

Альтернативный синтаксис для перехвата исключений: except TypeError as exc.

urllib3 теперь использует этот синтаксис, но вы пытаетесь запустить его на Python 2.5, который его не поддерживает.

person Jeremy    schedule 23.11.2012
comment
странно, я тоже установил python 2.7, но кажется, что все использует python 2.5, как я могу это исправить? - person iCodeLikeImDrunk; 23.11.2012
comment
Вы, кажется, используете Windows. Я не знаю, поэтому, боюсь, я не знаю ответа. В Linux/Mac OS я бы просто заменил каждую ссылку на python или python2.5 на python2.7 либо в файле, который я выполняю, либо в командах, которые я использую для его выполнения. - person Jeremy; 23.11.2012