python3安裝builtwith


>>> import builtwith
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/python3/lib/python3.5/site-packages/builtwith/__init__.py", line 43
    except Exception, e:
                    ^
SyntaxError: invalid syntax
>>> import builtwith
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/python3/lib/python3.5/site-packages/builtwith/__init__.py", line 44
    print 'Error:', e
                 ^
SyntaxError: Missing parentheses in call to 'print'
>>> import builtwith
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/python3/lib/python3.5/site-packages/builtwith/__init__.py", line 44
    print() 'Error:', e
                   ^
SyntaxError: invalid syntax
>>> import builtwith
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/python3/lib/python3.5/site-packages/builtwith/__init__.py", line 44
    print 'Error:', e
                 ^
SyntaxError: Missing parentheses in call to 'print'
>>> import builtwith
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/python3/lib/python3.5/site-packages/builtwith/__init__.py", line 138
    print '%s: %s' % result
                 ^
SyntaxError: Missing parentheses in call to 'print'
>>> import builtwith
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/python3/lib/python3.5/site-packages/builtwith/__init__.py", line 140
    print 'Usage: %s url1 [url2 url3 ...]' % sys.argv[0]
                                         ^
SyntaxError: Missing parentheses in call to 'print'
>>> import builtwith
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/python3/lib/python3.5/site-packages/builtwith/__init__.py", line 5, in <module>
    import urllib2
ImportError: No module named 'urllib2'

因為Python2中的Exception,e 的寫法不再支持,需要修改成Exception as e.

(這句話看了我半天, 明明說是拋出了Exception e, 卻硬是沒看到e的信息,火大!)

另外Python2中的print語句在Python3中需要寫成print(),按照錯誤提示修改對應行數即可。

 

語法問題修改之后,會報一個沒有安裝urllib2的包的錯誤。

通過pip install  urllib2也會提示找不到包。

這是因為builtwith依賴於urllib2包。但Pyhton2中的urllib2工具包,在Python3中分拆成了urllib.request和urllib.error兩個包。就導致找不到包,同時也沒辦法安裝。

所以需要install urllib.request和install urllib.error 兩個包,然后將builtwith包中的import urllib2修改為import urllib.request 和import urllib.error。

同時代碼中的方法函數也需要修改,基本就是將urllib2.xxx修改為urllib.request.xxx。

urllib2修改后對應的函數列表見:https://docs.python.org/2/library/urllib2.html。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM