Skip to content

building torchao in a fresh conda env does not work #3180

@vkuzo

Description

@vkuzo
  1. create a fresh conda env with PyTorch 2.9 and Python 3.12
  2. try to build torchao from source, it will fail:
(pytorch_29) [vasiliy@devgpu023.atn1 ~/local/ao (main)]$ with-proxy USE_CPP=1 python setup.py develop
...
  error: subprocess-exited-with-error                                                                                                                                                                                10:42:23 [114/444]
                                                                                                                                                                                                                                       
  × Getting requirements to build editable did not run successfully.                                                                                                                                                                   
  │ exit code: 1                                                                                                                                                                                                                       
  ╰─> [23 lines of output]                                                                                                                                                                                                             
      Traceback (most recent call last):                                                                                                                                                                                               
        File "/home/vasiliy/.conda/envs/pytorch_29/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>                                                                         
          main()                                                                                                                                                                                                                       
        File "/home/vasiliy/.conda/envs/pytorch_29/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main                                                                                       json_out["return_val"] = hook(**hook_input["kwargs"])       
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^                         
        File "/home/vasiliy/.conda/envs/pytorch_29/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 157, in get_requires_for_build_editable
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-r5_f40fl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 473, in get_requires_for_build_editable
          return self.get_requires_for_build_wheel(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-r5_f40fl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 331, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-r5_f40fl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-r5_f40fl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 512, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-r5_f40fl/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 317, in run_setup                              
          exec(code, locals())
        File "<string>", line 101, in <module>
      ModuleNotFoundError: No module named 'torch'
      [end of output]

The user can manually work around by doing

pip install setuptools==78.1.1

We should make sure we require the right setuptools version automatically without requiring the manual workaround, this is a footgun

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions