CoinCircle / py-etherdelta

Python client for interacting with the EtherDelta API and Smart Contracts.
MIT License
20 stars 12 forks source link

DeprecationWarning because of the rename from ethereum-utils to eth-utils #6

Closed markguo40 closed 6 years ago

markguo40 commented 6 years ago

Traceback (most recent call last): File "app.py", line 2, in import etherdelta File "/anaconda3/lib/python3.6/site-packages/etherdelta/init.py", line 12, in import web3 File "/anaconda3/lib/python3.6/site-packages/web3/init.py", line 7, in from eth_account import Account # noqa: E402 File "/anaconda3/lib/python3.6/site-packages/eth_account/init.py", line 1, in from eth_account.account import Account # noqa: F401 File "/anaconda3/lib/python3.6/site-packages/eth_account/account.py", line 10, in from eth_keyfile import ( File "/anaconda3/lib/python3.6/site-packages/eth_keyfile/init.py", line 7, in from eth_keyfile.keyfile import ( # noqa: F401 File "/anaconda3/lib/python3.6/site-packages/eth_keyfile/keyfile.py", line 10, in from eth_keys import keys File "/anaconda3/lib/python3.6/site-packages/eth_keys/init.py", line 15, in from .main import ( # noqa: F401 File "/anaconda3/lib/python3.6/site-packages/eth_keys/main.py", line 3, in from eth_keys.datatypes import ( File "/anaconda3/lib/python3.6/site-packages/eth_keys/datatypes.py", line 8, in from eth_utils import ( File "/anaconda3/lib/python3.6/site-packages/eth_utils/init.py", line 2, in "This library has been renamed to eth-utils. The ethereum-utils " DeprecationWarning: This library has been renamed to eth-utils. The ethereum-utils package will no longer recieve updates. Please update your dependencies accordingly.

markguo40 commented 6 years ago

I found this solution:

You need to uninstall the ethereum-utils package in your computer. However other problems will show up. The first one is

File "/anaconda3/lib/python3.6/site-packages/eth_keys/datatypes.py", line 8, in <module>
    from eth_utils import (
ImportError: cannot import name 'big_endian_to_int'

If this happen, you need to upgrade your eth_utils library:

pip install eth_utils --upgrade

This problem should be resolved, and then you will face the second problem:

  File "/anaconda3/lib/python3.6/site-packages/web3/contract.py", line 13, in <module>
    from eth_utils import (
ImportError: cannot import name 'coerce_return_to_text'

This problem is because your web3 version is not up-to-date. For now, it seems like they have not release the newest version so the safest way is to do:

pip install git+git://github.com/ethereum/web3.py.git

The problem should be resolve at this point.

miguelmota commented 6 years ago

@markguo40 wow thanks for figuring this out! The module has been updated and should be working now