pyethapp ImportError: невозможно импортировать блоки имен

Я установил 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

Являются ли эти версии несовместимыми? Могу ли я исправить ошибку, установив разные версии? Есть ли другой способ исправить ошибку (с изменением исходного кода)?

5 голосов | спросил audiomason 30 J0000006Europe/Moscow 2017, 00:56:25

3 ответа


4

Чтобы получить рабочую версию в virtualenv на Ubuntu 17, я сначала сделал (согласно предложению @audiomason выше - я не пробовал без этого шага):

pip install ethereum==1.6.0 pyethapp==1.2.0

затем (исправляет это )

pip install pyelliptic==1.5.7

then (исправляет это )

pip install tinyrpc[websocket]

Затем он работает: -)

ответил atomh33ls 8 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 08 Sep 2017 14:30:26 +0300 2017, 14:30:26
0

Эта команда установит функциональный pyethapp:

pip install ethereum==1.6.0 pyethapp==1.2.0

ответил audiomason 30 J0000006Europe/Moscow 2017, 01:53:57
0

Еще лучше, установите обновленный pyethapp из github в соответствии с инструкциями в https://github.com/ethereum/pyethapp/wiki/Getting-Started#installing-from-github - подытожить, что-то вроде:

~/ethereum$ git clone https://github.com/ethereum/pyethapp
~/ethereum$ cd pyethapp
~/ethereum/pyethapp$ virtualenv .venv
~/ethereum/pyethapp$ source .venv/bin/activate
(.venv) ~/ethereum/pyethapp/$ # note the "(.venv)"
(.venv) ~/ethereum/pyethapp/$ pip install --editable .

Но, возможно, используйте mkvirtualenv virtualenvwrapper для создания виртуальной среды и дайте ей лучшее имя, например:

~/ethereum/pyethapp$ mkvirtualenv pyethapp
(pyethapp) ~/ethereum/pyethapp$
ответил bens 5 J000000Wednesday17 2017, 16:14:03

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132