pythonpython-3.xsdnryu

Can not Install Ryu: AttributeError: module 'setuptools.command.easy_install' has no attribute 'get_script_args'


I have been trying to install Ryu for few days but was not able to get around this error. I have been stuck for long and need to install it as soon as possible to continue working.

fani@fani-VMware-Virtual-Platform:~/ryu$ pip install . --break-system-packages
Defaulting to user installation because normal site-packages is not writeable
Processing /home/fani/ryu
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [9 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/home/fani/ryu/setup.py", line 21, in <module>
          ryu.hooks.save_orig()
        File "/home/fani/ryu/ryu/hooks.py", line 36, in save_orig
          _main_module()._orig_get_script_args = easy_install.get_script_args
                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      AttributeError: module 'setuptools.command.easy_install' has no attribute 'get_script_args'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

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

Solution

  • I appreciate the other answer and also taking part from it. The error mostly originates due to new versions of setuptools. You can delete the setup tools and install version 67.6.1 (Some Other versions might work as well)

    pip uninstall setuptools 
    pip install setuptools==67.6.1
    

    Now, if above does not solves you program try downgrading the pip

    python -m pip install -U pip==20.3.4
    

    This version is mentioned in the ryu github repo in pip-requirements. This is what fixed it for me