Pyethereum

pyethapp ImportError:無法導入名稱塊

  • September 8, 2017

pyethapp使用pip install -c constraints.txt pyethapp. 該constraints.txt文件有一行pyelliptic==1.5.7,,以防止此執行緒中提到的安裝錯誤。安裝成功,但是執行時pyethapp出現以下錯誤:

File "/home/ubuntu/pyethapp/pyeth-venv/bin/pyethapp", line 7, in <module>
 from pyethapp.app import app
File "/home/ubuntu/pyethapp/pyeth-venv/local/lib/python2.7/site-packages/pyethapp/app.py", line 2, in <module>
 from ethereum import blocks
ImportError: cannot import name blocks

我去尋找blocks模組python2.7/site-packages/ethereum並找到文件block.py。看起來好像模組已重命名,或者pyethapp是為不同版本的pyethereum.

我正在安裝的版本(預設)是:

ethereum==2.0.4
pyethapp==1.5.0

這些版本不兼容嗎?我可以通過安裝不同的版本來修復錯誤嗎?是否有另一種方法來修復錯誤(通過修改原始碼)?

為了在 Ubuntu 17 上的 virtualenv 中獲得一個工作版本,我首先做了(根據上面的@audiomason 建議 - 我沒有嘗試過沒有這一步):

pip install ethereum==1.6.0 pyethapp==1.2.0

然後(修復此問題

pip install pyelliptic==1.5.7

然後(修復此問題

pip install tinyrpc[websocket]

然後它可以工作:-)

此命令將安裝功能性 pyethapp:

pip install ethereum==1.6.0 pyethapp==1.2.0

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