Ошибка импорта Python 3.x SyntaxError

Я использую macOS Sierra. При импорте builtwith Я получаю следующие ошибки:

Daniels-MacBook-Pro:~ Daniel$ python
Python 3.5.2 |Anaconda 4.2.0 (x86_64)| (default, Jul  2 2016, 17:52:12) 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import builtwith
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/danielotero/anaconda3/lib/python3.5/site-packages/builtwith/__init__.py", line 43
    except Exception, e:
                    ^
SyntaxError: invalid syntax

Что я могу сделать, чтобы импортировать его правильно?

2 ответа

Решение

Это потому что builtwith Установленный вами пакет разработан Python2, а не Python3. Так что он использует print а также Exception как это делает Python2. Он также использует библиотеку urllib2, которая разделена на две части библиотеки urllib в Python3.
Лучше использовать Python2 (Python2.7), чтобы закончить работу, или вам нужно изменить исходный код builtwithизменить все print заявление в print() функция, изменение except Exception, e в except Exception as eи изменить все urllib2 функции в функции в urllib.requests а также urllib.error,

Согласно системе отслеживания ошибок модуля, он не совместим с Python 3. Владелец проекта говорит

Этот модуль был построен с учетом Python 2. Патчи также могут поддерживать Python 3, однако должны поддерживать обратную совместимость.

Поскольку они не хотят переносить его на Python 3 для обеспечения обратной совместимости, вам следует либо использовать Python 2, либо искать другую библиотеку, либо пытаться портировать ее самостоятельно.

Другие вопросы по тегам