Ошибка импорта 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, либо искать другую библиотеку, либо пытаться портировать ее самостоятельно.