ethereum / web3.py

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

Installation error: unsupported dependency #2423

Closed prithvi2k2 closed 2 years ago

prithvi2k2 commented 2 years ago
aiohttp==3.8.1
aiosignal==1.2.0
argon2-cffi==21.3.0
argon2-cffi-bindings==21.2.0
async-timeout==4.0.2
attrs==21.4.0
autopep8==1.6.0
base58==2.1.1
bidict==0.22.0
bitarray==1.2.2
certifi==2021.10.8
cffi==1.15.0
charset-normalizer==2.0.12
click==8.1.2
colorama==0.4.4
cytoolz==0.11.2
dnspython==2.2.1
docopt==0.6.2
eth-abi==2.1.1
eth-account==0.5.7
eth-hash==0.3.2
eth-keyfile==0.5.1
eth-keys==0.3.4
eth-rlp==0.2.1
eth-typing==2.3.0
eth-utils==1.10.0
Flask==2.1.1
Flask-SocketIO==5.1.1
frozenlist==1.3.0
geographiclib==1.52
geopy==2.2.0
gunicorn==20.1.0
hexbytes==0.2.2
idna==3.3
importlib-metadata==4.11.3
ipfshttpclient==0.8.0a2
itsdangerous==2.1.2
Jinja2==3.1.1
jsonschema==3.2.0
lru-dict==1.1.7
MarkupSafe==2.1.1
multiaddr==0.0.9
multidict==6.0.2
netaddr==0.8.0
parsimonious==0.8.1
protobuf==3.20.0
pycodestyle==2.8.0
pycparser==2.21
pycryptodome==3.14.1
PyJWT==2.3.0
pymongo==4.0.2
pyrsistent==0.18.1
python-dotenv==0.20.0
python-engineio==4.3.1
python-socketio==5.5.2
pywin32==303
requests==2.27.1
rlp==2.0.1
six==1.16.0
toml==0.10.2
toolz==0.11.2
urllib3==1.26.9
varint==1.0.2
web3==5.28.0
websockets==9.1
Werkzeug==2.1.1
yarg==0.1.9
yarl==1.7.2
zipp==3.7.0

What was wrong?

Please include any of the following that are applicable:

How can it be fixed?

Seems like they dropped support for pywin, a thread on same issue https://stackoverflow.com/questions/40981120/python-pip-cannot-find-pywin32-on-windows


Note: We prefer to use issues to track our work. If you think you've encountered a bug in web3py or have a feature request, you're in the right place. If you have implementation or usage questions, please refer to our documentation and/or join the conversation on discord.

vernondcole commented 2 years ago

This problem crops up on a regular basis. Why pywin32 should appear on a requirements list for a Linux installation is a mystery. As the "win32" indicates, pywin32 is a Windows-only package which wraps Windows system calls. It does not, can not, and will never work on a Linux system (other than within WINE). The requirements.txt file should add ; platform_system == "Windows" to that line. (I am a pywin32 maintainer.)

kclowes commented 2 years ago

RUN pip install -r requirements.txt

Our project doesn't have a requirements.txt. Here are the instructions to get Docker up and running.

The requirements.txt file should add ; platform_system == "Windows"

We have added that. See here: https://github.com/ethereum/web3.py/blob/master/setup.py#L88

Closing, but feel free to reopen a new issue if you can't get this working on docker from @prithvi2k2.

prithvi2k2 commented 2 years ago

Thanks for your time but I moved to pipenv, atleast for this project, it automatically skips packages which aren't built for linux. Pipenv solved my issue for now. So the culprit is PIP