revbucket / lipMIP

Mixed integer programming for computing lipschitz constants of ReLU Networks
17 stars 0 forks source link

Include python version for setup dependencies #7

Open luigiberducci opened 3 months ago

luigiberducci commented 3 months ago

Hello, Thanks for sharing your codebase! :) I wanted to try it out but I am facing some issues in setting up the right dependencies.

Could you please include information on which python version to use? Or ideally a docker file to reproduce your setup.

Thanks! Luigi

sk1ddy commented 3 weeks ago

I also was trying out this (I am using Python 3.9.5) and I never got past the 'pip install -r requirements.txt' step, because it ends with the following error:

 Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [24 lines of output]
      Running from numpy source directory.
      <string>:461: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
      Traceback (most recent call last):
        File "/home/username/.virtualenvs/lipMIP/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/username/.virtualenvs/lipMIP/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/username/.virtualenvs/lipMIP/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
        File "/tmp/pip-build-env-fvk7rcxu/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 373, in prepare_metadata_for_build_wheel
          self.run_setup()
        File "/tmp/pip-build-env-fvk7rcxu/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 503, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-fvk7rcxu/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 318, in run_setup
          exec(code, locals())
        File "<string>", line 488, in <module>
        File "<string>", line 465, in setup_package
        File "/tmp/pip-install-t6d18ss4/numpy_77cea35a5a0f409db43bd5c2d4870402/numpy/distutils/core.py", line 26, in <module>
          from numpy.distutils.command import config, config_compiler, \
        File "/tmp/pip-install-t6d18ss4/numpy_77cea35a5a0f409db43bd5c2d4870402/numpy/distutils/command/config.py", line 20, in <module>
          from numpy.distutils.mingw32ccompiler import generate_manifest
        File "/tmp/pip-install-t6d18ss4/numpy_77cea35a5a0f409db43bd5c2d4870402/numpy/distutils/mingw32ccompiler.py", line 34, in <module>
          from distutils.msvccompiler import get_build_version as get_build_msvc_version
      ModuleNotFoundError: No module named 'distutils.msvccompiler'
      [end of output]

It seems like the 'distutils.msvccompiler' package was deprecated 2 years ago. Any chance we could get a working version? I am really interested in this tool!