Testing
pytest test_contracts.py 錯誤:ImportError: cannot import name state_transition
我正在努力按照此處和此處的安裝說明在執行 Ubuntu 16.04 和 Python 2.7.11+ 的舊 ThinkPad T500 上設置 pyethereum 。
當我測試安裝時:
pyethereum/ethereum/tests$ pytest -m test_contracts.py
例如,我得到:
going into /home/pavel/Ethereum/pyethereum/ethereum/tests ============================ test_db.py ============================ =========================== test_abi.py ============================ unhandled exception occurred while testing test_abi Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/logilab/common/pytest.py", line 447, in testfile options=self.options, outstream=sys.stderr) File "/usr/lib/python2.7/dist-packages/logilab/common/pytest.py", line 763, in __init__ testLoader=NonStrictTestLoader()) File "/usr/lib/python2.7/unittest/main.py", line 77, in __init__ self.module = __import__(module) File "test_abi.py", line 3, in <module> import ethereum.testutils as testutils File "/home/pavel/.local/lib/python2.7/site-packages/ethereum-1.3.6-py2.7.egg/ethereum/testutils.py", line 14, in <module> from ethereum import state_transition ImportError: cannot import name state_transition
至少有十個其他測試失敗,都帶有相同的消息:
ImportError: cannot import name state_transition
我渴望開始使用 pyethereum,並且非常感謝任何和所有的幫助。非常感謝你!
我的第一個問題是我執行的是舊版本的 Serpent (v 1.6.7),它仍然受到此處描述的錯誤的影響。我的第二個問題是由於此處的蛇教程中的拼寫錯誤:要測試安裝,命令是
python -m pytest test_contracts.py
(在 Serpent 教程中,“-m”在“pytest”之後,而不是在它之前)。
我通過以下方式更新了我的蛇
sudo pip install --upgrade ethereum-serpent
現在所有測試都成功完成。