2016-11-30 41 views
1

我正在使用macOS Sierra。進口builtwith當我得到這些下列錯誤:Python 3.x導入錯誤SyntaxError

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 

我能做些什麼,以正確導入呢?

+1

使用與您使用的Python版本兼容的模塊版本。 – kindall

+1

'除了Exception,e:'在Python 3中不再是有效的語法。 – rassar

+1

因此,該模塊不支持Python 3.如果你自己把它放在那裏,確保你設置它來使用Python 2解釋器。如果您使用Pip或類似軟件安裝它,請向相關庫提交錯誤報告。 –

回答

2

這是因爲您安裝的builtwith軟件包是由Python2開發的,而不是Python3開發的。所以它使用了Python2的printException。它還使用urllib2庫,它分離成Python3中的兩部分urllib庫。
這是更好地使用Python2(Python2.7)來完成工作,或者你要修改的builtwith的源代碼,也就是改變所有print語句轉換成print()功能,改變except Exception, eexcept Exception as e,並改變所有urllib2功能於功能在urllib.requestsurllib.error

1

按照module's issue tracker,它是不兼容的Python 3,項目業主說

This module was built with Python 2 in mind. Patches are welcome to also support Python 3, however would need to maintain backwards compatibility.

因爲他們似乎並沒有想要將它移植到Python 3,爲了保持向後兼容,你應該使用Python 2,查找另一個庫,或嘗試自己移植它。