eth-brownie / brownie

A Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
https://eth-brownie.readthedocs.io
MIT License
2.64k stars 553 forks source link

`requirements-dev.txt` is outdated #1399

Open PatrickAlphaC opened 2 years ago

PatrickAlphaC commented 2 years ago

Environment information

What was wrong?

Please include information like:

https://github.com/eth-brownie/brownie/blob/master/requirements-dev.txt and https://github.com/eth-brownie/brownie/blob/master/requirements.txt have different versions of packages and is causing conflicts, when running python setup.py install and then pip install -r requirements-dev.txt for example:

py
typed-ast

Resulting in errors like this:

eth-brownie 1.17.2 requires charset-normalizer==2.0.9, but you have charset-normalizer 2.0.7 which is incompatible.
eth-brownie 1.17.2 requires importlib-metadata==4.8.2, but you have importlib-metadata 4.8.1 which is incompatible.
eth-brownie 1.17.2 requires packaging==21.3, but you have packaging 21.0 which is incompatible.
eth-brownie 1.17.2 requires pyparsing==3.0.6, but you have pyparsing 3.0.3 which is incompatible.

and some others

freddie71010 commented 2 years ago

i just ran python3 setup.py install inside my venv running py3.8. It ran successfully. Then I ran pip install -r requirements-dev.txt and got these errors:

ERROR: eth-brownie 1.18.1 has requirement attrs==21.4.0, but you'll have attrs 21.2.0 which is incompatible.
ERROR: eth-brownie 1.18.1 has requirement charset-normalizer==2.0.11, but you'll have charset-normalizer 2.0.9 which is incompatible.
ERROR: eth-brownie 1.18.1 has requirement platformdirs==2.4.1, but you'll have platformdirs 2.4.0 which is incompatible.
ERROR: eth-brownie 1.18.1 has requirement pygments==2.11.2, but you'll have pygments 2.10.0 which is incompatible.
ERROR: eth-brownie 1.18.1 has requirement pyparsing==3.0.7, but you'll have pyparsing 3.0.6 which is incompatible.
ERROR: eth-brownie 1.18.1 has requirement requests==2.27.1, but you'll have requests 2.26.0 which is incompatible.
ERROR: eth-brownie 1.18.1 has requirement tomli==2.0.0, but you'll have tomli 1.2.2 which is incompatible.
ERROR: eth-brownie 1.18.1 has requirement typing-extensions==4.0.1, but you'll have typing-extensions 3.10.0.2 which is incompatible.
ERROR: eth-brownie 1.18.1 has requirement urllib3==1.26.8, but you'll have urllib3 1.26.7 which is incompatible.

@PatrickAlphaC, any tips on the best way to actually fix this? I'm not sure if I should be manually tweaking some version #s in the requirements files or just running some pip-compile commands.

PatrickAlphaC commented 2 years ago

Yeah I ran around and manually tweaked stuff :/

Someone just needs to figure out what the dependencies should be, and go from there.