Python腳本報錯AttributeError: ‘module’ object has no attribute’xxx’解決方法


最近在編寫Python腳本過程中遇到一個問題比較奇怪:Python腳本完全正常沒問題,但執行總報錯"AttributeError: 'module' object has no attribute 'xxx'"。這其實是.pyc文件存在問題。

問題定位:
查看import庫的源文件,發現源文件存在且沒有錯誤,同時存在源文件的.pyc文件

問題解決方法:

  1. 命名py腳本時,不要與python預留字,模塊名等相同。
  2. 刪除該庫的.pyc文件(因為py腳本每次運行時均會生成.pyc文件;在已經生成.pyc文件的情況下,若代碼不更新,運行時依舊會走pyc,所以要刪除.pyc文件),重新運行代碼;或者找一個可以運行代碼的環境,拷貝替換當前機器的.pyc文件即可。

pyc文件介紹

pyc文件,是python編譯后的字節碼(bytecode)文件。只要你運行了py文件,python編譯器就會自動生成一個對應的pyc字節碼文件。這個pyc字節碼文件,經過python解釋器,會生成機器碼運行(這也是為什么pyc文件可以跨平台部署,類似於java的跨平台,java中JVM運行的字節碼文件)。下次調用直接調用pyc,而不調用py文件。直到你這個py文件有改變。python解釋器會檢查pyc文件中的生成時間,對比py文件的修改時間,如果py更新,那么就生成新的pyc。


免責聲明!

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



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