eth-brownie / brownie

A Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.

Home Page:https://eth-brownie.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pip install eth-brownie ends with Error caused by deprecated massage from pyyaml==5.4.1

martinkrung opened this issue · comments

Environment information

  • brownie Version: 1.19.3
  • ganache-cli Version: x.x.x
  • solc Version: x.x.x
  • Python Version: 3.10.12
  • OS: linux

Pip install breaks with Error

Command:

pip install  eth-brownie==1.19.3

Error:

Collecting pyyaml==5.4.1
  Using cached PyYAML-5.4.1.tar.gz (175 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [62 lines of output]
      /tmp/pip-build-env-ii5z_8dh/overlay/lib/python3.10/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
      !!
      
              ********************************************************************************
              The license_file parameter is deprecated, use license_files instead.
      
              By 2023-Oct-30, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.
      
              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************
      
      !!
        parsed = self.parsers.get(option_name, lambda x: x)(value)
!!

How can it be fixed?

Set Pyyaml==6.0.1, works for me, but maybe choose the closes solution where the above error is fixed.

Workaround:

pip install eth-brownie==1.19.3 --no-deps

in file

.venv/lib/python3.10/site-packages/eth_brownie-1.19.3.dist-info/METADATA

change:

Requires-Dist: pyyaml (==5.4.1)

to

Requires-Dist: pyyaml (==6.0.1)

then complete eth-brownie installation:

pip install eth-brownie==1.19.3 Pyyaml==6.0.1

Ups, Related #1701

Finally fixed in v1.20.0