Solidity

類型錯誤:關鍵字參數“solc_version”

  • February 15, 2022

嘗試執行自定義建構的 web3.py 時收到以下錯誤

install_solc("0.6.0")
complied_sol = compile_standard(
   {
       "language": "Solidity",
       "sources": {"SimpleStorage.sol": {"content": simple_storage_file}},
       "settings": {
           "outputSelection": {
               "*": {"*": ["abi", "metadata", "evm.bytecode", "evm.sourceMap"]}
           }
       },
   },
   solc_version="0.6.0",
)

錯誤:

Exception has occurred: TypeError
solc_wrapper() got an unexpected keyword argument 'solc_version'

如果有人知道如何解決這個問題。請幫忙。這是否已棄用,是否有新方法或使用它?注意:我使用的是 0.6.0 版本的 Solidity。

花了我一天的時間和一些咖啡,但解決了它。我不完全確定它是如何工作的,但這裡列出了我正在嘗試的故障排除步驟列表,這些步驟幫助了我。

  • 通過終端使用解除安裝 py-solc-x,pip uninstall py-solc-x
  • 用於pip cache purge刪除任何多餘的軟體包。(選修的)
  • lib\site-packages\solcx\bin\重新檢查python 安裝文件夾中的路徑$$ or your virtual environment $$. 如果裡面有東西。刪除它。(如果不存在,則跳過)
  • 重新安裝 py-solc-x 通過pip install py-solc-x.
  • 通過按 Ctrl + Shift + P檢查您Solidity Global Compiler Version的 VSCode並將其設置為您在install_solc()solc_versionpragma solidity 中提到的那個。
  • $$ For Virtual Environments Only $$檢查主機 python 目錄中是否有任何衝突的 py-solc-x 包pip freeze
  • 最後但並非最不重要的一點是,通過按您決定處理的Ctrl + Shift + P檢查您是否Python Interpreter以相同的方式選擇正確。如果您在虛擬環境中,這會很有幫助。

引用自:https://ethereum.stackexchange.com/questions/121571