sangoma / python-ESL

FreeSWITCH's ESL SWIG wrapper for Python packaged with setuptools
https://freeswitch.org/confluence/display/FREESWITCH/Python+ESL
Mozilla Public License 2.0
23 stars 26 forks source link

SetuptoolsDeprecationWarning: setup.py install is deprecated #6

Open zenichev opened 6 months ago

zenichev commented 6 months ago

Good day community.

I've recently come across an issue with the installation via pip. Command I do run: sudo pip install python-ESL --break-system-packages

During the installation I get the following error:

Collecting python-ESL
  Using cached python-ESL-1.4.18.tar.gz (40 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: python-ESL
  Building wheel for python-ESL (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [14 lines of output]
      /usr/lib/python3/dist-packages/setuptools/dist.py:775: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
        warnings.warn(
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      copying ESL.py -> build/lib.linux-x86_64-cpython-311
      running build_ext
      building '_ESL' extension
      swigging ESL.i to ESL_wrap.cpp
      swig -python -classic -c++ -DMULTIPLICITY -threads -I. -o ESL_wrap.cpp ESL.i
      Deprecated command line option: -classic. This option is no longer available.
      error: command '/usr/bin/swig' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for python-ESL
  Running setup.py clean for python-ESL
Failed to build python-ESL
Installing collected packages: python-ESL
  Running setup.py install for python-ESL ... error
  error: subprocess-exited-with-error

  × Running setup.py install for python-ESL did not run successfully.
  │ exit code: 1
  ╰─> [16 lines of output]
      /usr/lib/python3/dist-packages/setuptools/dist.py:775: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
        warnings.warn(
      running install
      /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      copying ESL.py -> build/lib.linux-x86_64-cpython-311
      running build_ext
      building '_ESL' extension
      swigging ESL.i to ESL_wrap.cpp
      swig -python -classic -c++ -DMULTIPLICITY -threads -I. -o ESL_wrap.cpp ESL.i
      Deprecated command line option: -classic. This option is no longer available.
      error: command '/usr/bin/swig' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> python-ESL

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Other information: OS: Debian GNU/Linux 12 (bookworm) Python version: 3.11.2 Swig version: 4.1.0-0.2 python3-pip version: 23.0.1+dfsg-1

I made an effort to search via related forums, but it seems no one other has experienced that before. Is it possible to correct the procedure of installation, so it uses the pip install instead of the setup.py during the python-ESL installation phase?

BR, Donat

zenichev commented 6 months ago

Update: the only way I was able to overcome this, was to downgrade the setuptools to the 58.2.0, with: sudo pip install setuptools==58.2.0.

But it seems to me as a crutch rather than a fix for that.