New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker Startup Error: AttributeError: module 'rlp' has no attribute 'Serializable'
#857
Comments
This seems like some sort of dependency issue w/ Will look into it! |
Sprint 3: Still researching! |
@anoduck Can you include OS information? |
@unparalleled-js host OS is Kali Linux, but running docker not as root, but as unprivileged "normal" user. So, basically same as Debian unstable. Full command executed: Full output of error that followed: Traceback (most recent call last):
File "/usr/local/bin/ape", line 5, in <module>
from ape._cli import cli
File "/usr/local/lib/python3.8/dist-packages/ape/__init__.py", line 7, in <module>
from ape.managers.project import ProjectManager as Project
File "/usr/local/lib/python3.8/dist-packages/ape/managers/__init__.py", line 3, in <module>
from ape.plugins import PluginManager
File "/usr/local/lib/python3.8/dist-packages/ape/plugins/__init__.py", line 9, in <module>
from .account import AccountPlugin
File "/usr/local/lib/python3.8/dist-packages/ape/plugins/account.py", line 3, in <module>
from ape.api.accounts import AccountAPI, AccountContainerAPI
File "/usr/local/lib/python3.8/dist-packages/ape/api/__init__.py", line 1, in <module>
from .accounts import (
File "/usr/local/lib/python3.8/dist-packages/ape/api/accounts.py", line 5, in <module>
from eth_account import Account
File "/usr/local/lib/python3.8/dist-packages/eth_account/__init__.py", line 1, in <module>
from eth_account.account import (
File "/usr/local/lib/python3.8/dist-packages/eth_account/account.py", line 35, in <module>
from eth_account._utils.legacy_transactions import (
File "/usr/local/lib/python3.8/dist-packages/eth_account/_utils/legacy_transactions.py", line 13, in <module>
from eth_rlp import (
File "/usr/local/lib/python3.8/dist-packages/eth_rlp/__init__.py", line 1, in <module>
from .main import ( # noqa: F401
File "/usr/local/lib/python3.8/dist-packages/eth_rlp/main.py", line 13, in <module>
class HashableRLP(rlp.Serializable):
AttributeError: module 'rlp' has no attribute 'Serializable' |
are you using |
Using |
Just for sanity check, can you try |
No difference between running cmd: output: Traceback (most recent call last):
File "/usr/local/bin/ape", line 5, in <module>
from ape._cli import cli
File "/usr/local/lib/python3.8/dist-packages/ape/__init__.py", line 7, in <module>
from ape.managers.project import ProjectManager as Project
File "/usr/local/lib/python3.8/dist-packages/ape/managers/__init__.py", line 3, in <module>
from ape.plugins import PluginManager
File "/usr/local/lib/python3.8/dist-packages/ape/plugins/__init__.py", line 9, in <module>
from .account import AccountPlugin
File "/usr/local/lib/python3.8/dist-packages/ape/plugins/account.py", line 3, in <module>
from ape.api.accounts import AccountAPI, AccountContainerAPI
File "/usr/local/lib/python3.8/dist-packages/ape/api/__init__.py", line 1, in <module>
from .accounts import (
File "/usr/local/lib/python3.8/dist-packages/ape/api/accounts.py", line 5, in <module>
from eth_account import Account
File "/usr/local/lib/python3.8/dist-packages/eth_account/__init__.py", line 1, in <module>
from eth_account.account import (
File "/usr/local/lib/python3.8/dist-packages/eth_account/account.py", line 35, in <module>
from eth_account._utils.legacy_transactions import (
File "/usr/local/lib/python3.8/dist-packages/eth_account/_utils/legacy_transactions.py", line 13, in <module>
from eth_rlp import (
File "/usr/local/lib/python3.8/dist-packages/eth_rlp/__init__.py", line 1, in <module>
from .main import ( # noqa: F401
File "/usr/local/lib/python3.8/dist-packages/eth_rlp/main.py", line 13, in <module>
class HashableRLP(rlp.Serializable):
AttributeError: module 'rlp' has no attribute 'Serializable' |
I'm able to recreate the error on the latest docker image on ubuntu WSL2 |
Just spouting off some observations, but it appears the error is located within the ethereum libraries and not within ape itself, particularly the eth-rlp package. So, it might be Ethereum's problem to fix. The documentation that refers to the module creating the error can be found here: https://eth-rlp.readthedocs.io/en/latest/eth_rlp.html#eth_rlp.main.HashableRLP.from_bytes |
After doing some research it seems the error is coming from this file: that file imports this library also: https://github.com/ethereum/pyrlp I was able to try an older version of the ape docker image and it works to compile but the latest version does not. |
with these changes to the dockerfile it seems to work. I'm exploring which of the changes it is specifically.
|
each of the changes seem necessary for one reason or another to have it working. |
May be a little premature, but seeing there is a new docker image release, I am going to go ahead and pull Pulling is slower than frozen molasses. |
Well, another update to the latest image came through, and my pull request never completed before timing out. So, I am starting the pull request all over again, at a snail's pace. Wish ATT would finish setting up fiber, the cables have been out there for almost a month now. |
Yep, it works...now the fun begins... |
If encounter this issue
I have encountered this issue outside of docker, like when installing other libs and such, and then I have to do this again. It is odd. The init.py file for |
Thank you @unparalleled-js - came here with the same issue and this helped. |
Literally followed the instructions for docker installation verbatim, and recieved the error:
AttributeError: module 'rlp' has no attribute 'Serializable'.
Attached to the tty, and ran the commandpip3 install eth-ape[recommended-plugins]
ANDpip3 install -U eth-ape[recommended-plugins]
everything came up installed both times. Looked for more documentation on performing a docker installation, and found the same information contained in the README.md. Kinda lost as to what to do now.I will try to remember to return later and provide the full output.
The text was updated successfully, but these errors were encountered: