簡體   English   中英

Mac 上的 Brownie + ganache-cli,出現一些錯誤:AttributeError: 'NoneType' object has no attribute 'poll'

[英]Brownie + ganache-cli on Mac, some error shows up: AttributeError: 'NoneType' object has no attribute 'poll'

它在我的服務器上運行良好,但在執行brownie run scripts/price_feed_scripts/01_deploy_price_consumer_v3.py -.network development時使用本地 MacOS,它顯示:

Launching 'ganache-cli --accounts 10 --hardfork istanbul --gasLimit 12000000 --mnemonic brownie --port 8545'...
Terminating local RPC client...
  File "brownie/_cli/__main__.py", line 64, in main
    importlib.import_module(f"brownie._cli.{cmd}").main()
  File "brownie/_cli/run.py", line 43, in main
    network.connect(CONFIG.argv["network"])
  File "brownie/network/main.py", line 50, in connect
    rpc.launch(active["cmd"], **active["cmd_settings"])
  File "brownie/network/rpc/__init__.py", line 97, in launch
    raise RPCConnectionError(cmd, self.process, uri)
  File "brownie/exceptions.py", line 41, in __init__
    f"\n\nCommand: {cmd}\nURI: {uri}\nExit Code: {proc.poll()}"
AttributeError: 'NoneType' object has no attribute 'poll'

有同樣的問題,通常我連接到 VPN 並且一切正常。 今天我把它關掉了,忘了再打開它。 然后我遇到了這個問題。 經過一番調查,我想到了 VPN,然后我就去了,重新打開后,一切又正常了 (1.1.1.1)

問題可能出在您為創建“開發”網絡而運行的命令中。

brownie networks add development mainnet-fork cmd=ganache-cli host=https://eth-mainnet.alchemyapi.io/XXX accounts=10 mnemonic=brownie port=8545

這是使用錯誤的主機並且缺少分叉。 該命令應該是

brownie networks add development mainnet-fork cmd=ganache-cli host=http://127.0.0.1 fork=https://eth-mainnet.alchemyapi.io/XXX accounts=10 mnemonic=brownie port=8545

即使使用@Harish Vishwakarma 所說的正確定義,我也有相同的錯誤輸出。 我還安裝了 ganache-cli:

brownie networks add development mainnet-fork cmd=ganache-cli host=http://127.0.0.1 fork=https://eth-mainnet.alchemyapi.io/XXX accounts=10 mnemonic=brownie port=8545

這是實際執行的命令:

❯ brownie run scripts/deploy.py --network mainnet-fork-dev
Brownie v1.14.6 - Python development framework for Ethereum

BrownieFundMeProject is the active project.

Launching 'ganache-cli --accounts 10 --fork https://eth-mainnet.alchemyapi.io/v2/xxxxx --mnemonic brownie --port 8545 --hardfork istanbul'...
Terminating local RPC client...
  File "brownie/_cli/__main__.py", line 64, in main
    importlib.import_module(f"brownie._cli.{cmd}").main()
  File "brownie/_cli/run.py", line 43, in main
    network.connect(CONFIG.argv["network"])
  File "brownie/network/main.py", line 50, in connect
    rpc.launch(active["cmd"], **active["cmd_settings"])
  File "brownie/network/rpc/__init__.py", line 97, in launch
    raise RPCConnectionError(cmd, self.process, uri)
  File "brownie/exceptions.py", line 41, in __init__
    f"\n\nCommand: {cmd}\nURI: {uri}\nExit Code: {proc.poll()}"
AttributeError: 'NoneType' object has no attribute 'poll'

該命令可能無法自行啟動 ganache 實例。 您可以嘗試在不同的終端上手動啟動一個,然后運行該命令,以便它附加到已經運行的實例

對於遇到此問題的其他任何人,請確保您沒有使用https指定本地主機,而是使用http 我花了很長時間才看到那個小錯字!

我通過添加host=http://127.0.0.1解決了同樣的問題確保它是http而不是HTTP你的命令應該是這樣的:

`brownie networks add development mainnet-fork-dev cmd=ganache-cli host=http://127.0.0.1  fork=https://eth-mainnet.alchemyapi.io/v2/DFwObAmnPwS21NdNsSLFkpV4C5YEkthH accounts=10 mnemonic=brownie port=9999`

我通過刪除像“export http_proxy=http://127.0.0.1:1087”這樣的終端代理配置解決了這個問題,這些配置將代理您的終端 http 請求。 不要忘記重啟你的macOS

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM