ethereum / web3.py

A python interface for interacting with the Ethereum blockchain and ecosystem.
http://web3py.readthedocs.io
MIT License
4.97k stars 1.69k forks source link

ModuleNotFoundError: No module named 'cytoolz.itertoolz' #3487

Closed ray2021 closed 3 days ago

ray2021 commented 3 days ago

What happened?

Windows 11

It does not error out using Python 3.8 (32-bit)

Issue: Python 3.12 (64-bit) Pip freeze: (3.12 and I imported requirements.txt from 3.8) aiohttp==3.9.3 aiosignal==1.3.1 alembic==1.10.4 anyio==4.2.0 appdirs==1.4.4 APScheduler==3.6.3 async-generator==1.10 async-timeout==4.0.3 attrs==23.2.0 backports.zoneinfo==0.2.1 beautifulsoup4==4.12.2 bitarray==2.9.2 blinker==1.6.2 bs4==0.0.1 cachelib==0.10.2 camelot-py==0.11.0 cattrs==1.10.0 certifi==2020.6.20 cffi==1.14.4 chardet==3.0.4 charset-normalizer==2.0.10 click==8.1.3 colorama==0.4.4 config==0.5.1 configparser==5.0.2 crayons==0.4.0 cryptography==40.0.2 cycler==0.10.0 cytoolz==0.12.3 decorator==4.4.2 deprecation==2.1.0 distro==1.5.0 et-xmlfile==1.1.0 eth-account==0.11.0 eth-hash==0.7.0 eth-keyfile==0.8.0 eth-keys==0.5.0 eth-rlp==1.0.1 eth-typing==4.0.0 eth-utils==4.0.0 eth_abi==5.0.0 etherscan==0.3.0 etherscan-python==2.1.0 eventkit==1.0.3 exceptiongroup==1.2.0 Flask==2.2.5 Flask-Login==0.5.0 Flask-Mail==0.9.1 Flask-Migrate==4.0.4 Flask-Session==0.4.1 Flask-SQLAlchemy==3.0.3 Flask-WTF==1.1.1 frozendict==2.3.8 frozenlist==1.4.1 future==0.18.3 fuzzywuzzy==0.18.0 gevent==23.9.1 ghostscript==0.7 greenlet==2.0.2 h11==0.14.0 hexbytes==0.3.1 html5lib==1.1 httpcore==1.0.2 httpx==0.25.2 ib-insync==0.9.86 idna==2.10 importlib-metadata==6.6.0 importlib-resources==5.12.0 install==1.3.5 itsdangerous==2.1.2 Jinja2==3.1.2 joblib==0.17.0 jsonschema-specifications==2023.12.1 kiwisolver==1.2.0 libretranslatepy==2.1.1 lru-dict==1.2.0 lxml==4.9.2 Mako==1.2.4 MarkupSafe==2.1.2 matplotlib==3.3.2 msal==1.20.0 multidict==6.0.5 multitasking==0.0.11 myBasics==1.0.0 myHttp==1.1.4 mySecrets==1.0.4 nest-asyncio==1.6.0 nltk==3.8.1 numexpr==2.8.4 numpy==1.24.3 oauthlib==3.2.2 opencv-python==4.7.0.72 opencv-python-headless==4.7.0.72 openpyxl==3.0.10 outcome==1.1.0 outlook==1.0.5 packaging==23.1 pandas==1.3.5 pandas-datareader==0.10.0 pandastable==0.13.1 parsimonious==0.9.0 pdfminer.six==20221105 pdftopng==0.2.3 peewee==3.17.0 pikepdf==7.2.0 Pillow==9.5.0 pkgutil_resolve_name==1.3.10 protobuf==4.25.3 psycopg2==2.9.6 psycopg2-binary==2.9.6 pycoingecko==2.2.0 pycparser==2.20 pycryptodome==3.20.0 pydub==0.25.1 PyJWT==2.6.0 PyMuPDF==1.24.3 PyMuPDFb==1.24.3 pyOpenSSL==21.0.0 pyotp==2.8.0 pyparsing==2.4.7 pypdf==3.7.1 PyPDF2==3.0.1 pyTelegramBotAPI==4.16.1 python-dateutil==2.8.2 python-dotenv==1.0.0 python-telegram-bot==20.7 pytz==2023.3 pyunormalize==15.1.0 pywin32==303 PyYAML==6.0.1 referencing==0.33.0 regex==2023.8.8 requests==2.31.0 requests-cache==0.9.4 requests-oauthlib==1.4.0 rlp==4.0.0 robin-stocks==2.1.0 rpds-py==0.18.0 schedule==1.2.1 scikit-learn==0.23.2 scipy==1.5.2 selenium==4.0.0 simpleaudio==1.0.4 six==1.15.0 sklearn==0.0 sniffio==1.2.0 somewhere==0.0.1 sortedcontainers==2.4.0 soupsieve==2.0.1 SQLAlchemy==2.0.12 tabula-py==2.2.0 tabulate==0.9.0 telebot==0.0.5 telegram==0.0.1 threadpoolctl==2.1.0 toolz==0.12.1 tornado==6.1 tqdm==4.50.2 translate==3.6.1 trio==0.19.0 trio-websocket==0.9.2 ttkthemes==3.2.2 tweepy==4.14.0 typing_extensions==4.5.0 tzdata==2023.3 tzlocal==2.1 url-normalize==1.4.3 urllib3==1.26.7 web3==6.15.1 webdriver-manager==3.5.1 webencodings==0.5.1 websocket-client==1.7.0 websockets==13.0.1 Werkzeug==2.3.3 wget==3.2 wsproto==1.0.0 WTForms==3.0.1 xlrd==1.2.0 XlsxWriter==3.1.9 xlwings==0.25.3 yarl==1.9.4 yfinance==0.2.33 zipp==3.15.0 zope.event==5.0 zope.interface==6.1

Code that produced the error

from web3 import Web3

Full error output

C:\Users\renat\PycharmProjects\pythonProject_v312\myenv312\Scripts\python.exe C:\Users\renat\PycharmProjects\pythonProject_v312\pythonProject_v312\Aave\web3_for_aave.py 
Traceback (most recent call last):
  File "C:\Users\renat\PycharmProjects\pythonProject_v312\pythonProject_v312\Aave\web3_for_aave.py", line 5, in <module>
    from web3 import Web3
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\web3\__init__.py", line 1, in <module>
    from eth_account import Account  # noqa: E402
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\eth_account\__init__.py", line 5, in <module>
    from eth_account.account import (
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\eth_account\account.py", line 17, in <module>
    from cytoolz import (
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\cytoolz\__init__.py", line 1, in <module>
    from .itertoolz import *
ModuleNotFoundError: No module named 'cytoolz.itertoolz'

Process finished with exit code 1

Fill this section in if you know how this could or should be fixed

No response

web3 Version

web3==6.15.1

Python Version

3.12

Operating System

win 11

Output from pip freeze

Pip freeze: (3.12 and I imported requirements.txt from 3.8)
aiohttp==3.9.3
aiosignal==1.3.1
alembic==1.10.4
anyio==4.2.0
appdirs==1.4.4
APScheduler==3.6.3
async-generator==1.10
async-timeout==4.0.3
attrs==23.2.0
backports.zoneinfo==0.2.1
beautifulsoup4==4.12.2
bitarray==2.9.2
blinker==1.6.2
bs4==0.0.1
cachelib==0.10.2
camelot-py==0.11.0
cattrs==1.10.0
certifi==2020.6.20
cffi==1.14.4
chardet==3.0.4
charset-normalizer==2.0.10
click==8.1.3
colorama==0.4.4
config==0.5.1
configparser==5.0.2
crayons==0.4.0
cryptography==40.0.2
cycler==0.10.0
cytoolz==0.12.3
decorator==4.4.2
deprecation==2.1.0
distro==1.5.0
et-xmlfile==1.1.0
eth-account==0.11.0
eth-hash==0.7.0
eth-keyfile==0.8.0
eth-keys==0.5.0
eth-rlp==1.0.1
eth-typing==4.0.0
eth-utils==4.0.0
eth_abi==5.0.0
etherscan==0.3.0
etherscan-python==2.1.0
eventkit==1.0.3
exceptiongroup==1.2.0
Flask==2.2.5
Flask-Login==0.5.0
Flask-Mail==0.9.1
Flask-Migrate==4.0.4
Flask-Session==0.4.1
Flask-SQLAlchemy==3.0.3
Flask-WTF==1.1.1
frozendict==2.3.8
frozenlist==1.4.1
future==0.18.3
fuzzywuzzy==0.18.0
gevent==23.9.1
ghostscript==0.7
greenlet==2.0.2
h11==0.14.0
hexbytes==0.3.1
html5lib==1.1
httpcore==1.0.2
httpx==0.25.2
ib-insync==0.9.86
idna==2.10
importlib-metadata==6.6.0
importlib-resources==5.12.0
install==1.3.5
itsdangerous==2.1.2
Jinja2==3.1.2
joblib==0.17.0
jsonschema-specifications==2023.12.1
kiwisolver==1.2.0
libretranslatepy==2.1.1
lru-dict==1.2.0
lxml==4.9.2
Mako==1.2.4
MarkupSafe==2.1.2
matplotlib==3.3.2
msal==1.20.0
multidict==6.0.5
multitasking==0.0.11
myBasics==1.0.0
myHttp==1.1.4
mySecrets==1.0.4
nest-asyncio==1.6.0
nltk==3.8.1
numexpr==2.8.4
numpy==1.24.3
oauthlib==3.2.2
opencv-python==4.7.0.72
opencv-python-headless==4.7.0.72
openpyxl==3.0.10
outcome==1.1.0
outlook==1.0.5
packaging==23.1
pandas==1.3.5
pandas-datareader==0.10.0
pandastable==0.13.1
parsimonious==0.9.0
pdfminer.six==20221105
pdftopng==0.2.3
peewee==3.17.0
pikepdf==7.2.0
Pillow==9.5.0
pkgutil_resolve_name==1.3.10
protobuf==4.25.3
psycopg2==2.9.6
psycopg2-binary==2.9.6
pycoingecko==2.2.0
pycparser==2.20
pycryptodome==3.20.0
pydub==0.25.1
PyJWT==2.6.0
PyMuPDF==1.24.3
PyMuPDFb==1.24.3
pyOpenSSL==21.0.0
pyotp==2.8.0
pyparsing==2.4.7
pypdf==3.7.1
PyPDF2==3.0.1
pyTelegramBotAPI==4.16.1
python-dateutil==2.8.2
python-dotenv==1.0.0
python-telegram-bot==20.7
pytz==2023.3
pyunormalize==15.1.0
pywin32==303
PyYAML==6.0.1
referencing==0.33.0
regex==2023.8.8
requests==2.31.0
requests-cache==0.9.4
requests-oauthlib==1.4.0
rlp==4.0.0
robin-stocks==2.1.0
rpds-py==0.18.0
schedule==1.2.1
scikit-learn==0.23.2
scipy==1.5.2
selenium==4.0.0
simpleaudio==1.0.4
six==1.15.0
sklearn==0.0
sniffio==1.2.0
somewhere==0.0.1
sortedcontainers==2.4.0
soupsieve==2.0.1
SQLAlchemy==2.0.12
tabula-py==2.2.0
tabulate==0.9.0
telebot==0.0.5
telegram==0.0.1
threadpoolctl==2.1.0
toolz==0.12.1
tornado==6.1
tqdm==4.50.2
translate==3.6.1
trio==0.19.0
trio-websocket==0.9.2
ttkthemes==3.2.2
tweepy==4.14.0
typing_extensions==4.5.0
tzdata==2023.3
tzlocal==2.1
url-normalize==1.4.3
urllib3==1.26.7
web3==6.15.1
webdriver-manager==3.5.1
webencodings==0.5.1
websocket-client==1.7.0
websockets==13.0.1
Werkzeug==2.3.3
wget==3.2
wsproto==1.0.0
WTForms==3.0.1
xlrd==1.2.0
XlsxWriter==3.1.9
xlwings==0.25.3
yarl==1.9.4
yfinance==0.2.33
zipp==3.15.0
zope.event==5.0
zope.interface==6.1
pacrob commented 3 days ago

It looks like by using the old requirements.txt (which we don't use anymore), you're installing versions libraries that don't support python 3.12, eth-account==0.11.0 for example. The current dependencies are listed in setup.py.

We prefer to use issues for problems with the library itself, but you can check out our Discord for help with usage questions.

If there is a problem with the library, please open a new issue with more information.