python-docx安裝錯誤之烏龍篇

對python-docx安裝的麻煩早有所聞,大意是python-docx依賴lxml,而lxml又依賴libxml2和libxslt,而後面這兩個東西難有現成的,需要源碼編譯,等等。雖沒仔細去研究,但對其早有陰影了。加之以前對它沒有使用需要,也就一直沒安裝這個模塊,最近因爲要用,不得不硬着頭皮上了。

我用的是windows下的python3.7 32bit,不管三七二十一,直接 pip install python-docx ,一段黃色警告信息後,自動安裝了lxml-4.2.5 和 python-docx-0.87,提示Successfully installed。心中暗喜:原來這麼簡單!啓動PY開幹吧。

>>> import docx
>>> doc=document()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'document' is not defined

提示NameError: name 'Documetn' is not defined。模塊沒有定義?……好吧,重來:

>>> from docx import document
>>> doc=document()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable

繼續報錯,TypeError: 'module' object is not callable。“模塊”對象不能調用!

看來果然沒那麼簡單。好吧,度娘。熊爪一拍,果然問題一大堆,多是說要找非官方的編譯了libxml2和libxslt的lxml版本安裝,有說lxml-3.7.3版本可用,pip上一找,發現只有針對python3.6以前的版本,手工下載了也裝不上……然後國內國外各種網站、論壇瞪眼細讀,各種下載,各種版本試了個遍,要麼無法安裝,要麼運行提示上面那行模塊對象不能調用!整整折騰一天毫無進展,最後決定放棄了,可又總覺得哪裏有點不對勁:爲什麼網站各種問題幾乎都是針對python3.6以前的版本的呢?爲什麼問題貼子都比較老呢?這麼有名的模塊,這麼嚴重的問題,不可能近一兩年都沒人提了啊!無意識地複製了一個入門教程的兩行代碼,直接粘貼過來,結果驚呆!!

>>> from docx import Document
>>> doc=Document()
>>>

居然啥毛病沒有??仔細對比一下我之前輸入的,發現了!document  Document,“d”和“D”……

居然就是如此低級的錯誤,浪費我整整一天大好時光,附贈一天喪氣心情!

趕緊直接uninstall一天裝的雜七雜八的模塊和版本,重新回到開頭,pip install python-docx ,同樣的警告提示後完成安裝,再次運行測試,一切正常,原來確實如此簡單!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章