SelfExplainML / PiML-Toolbox

PiML (Python Interpretable Machine Learning) toolbox for model development & diagnostics
https://selfexplainml.github.io/PiML-Toolbox
Apache License 2.0
912 stars 109 forks source link

ERROR: No matching distribution found for PiML #29

Closed wknauth closed 10 months ago

wknauth commented 1 year ago

Just had to re-install conda and am now running the newest version (23.1.0) and Python 3.10.4.

pip install seems to be working. For instance, pip install torch worked and showed up in conda list --show-channel-urls, after I verified that it was not there before.

pip install PiML gives the following:

(base) Williams-2018-MacBook-Pro:~ william$ pip install PiML ERROR: Could not find a version that satisfies the requirement PiML (from versions: none) ERROR: No matching distribution found for PiML

ZebinYang commented 1 year ago

Hi @wknauth,

Currently, PiML only supports Python 3.7, 3.8, and 3.9. You need to first downgrade py3.10 to py3.9 and then run pip install piml.

JDE65 commented 1 year ago

Do I need PiML to use GAMINet for pytorch? It seems that I do need it, but I don't understand why nor where the dependency is sourced. In no place in the code I looked at so far, I find such a dependency Could you please help? THX

dilanfd commented 1 year ago

I just tried to install piml using python versions, 3.7.16, 3.8.16 and finally 3.9.16 and all of them fail with the following error.

ERROR: Could not find a version that satisfies the requirement piml (from versions: none) ERROR: No matching distribution found for piml

Are there specific versions of python that we need to install this package?. Specifically what does x need to be if

python = 3.{7 | 8 | 9}. x?

system information: MacOS Monterey v12.6

FWIW, I am using the latest pip version for each of the respective python versions.

ZebinYang commented 1 year ago

Hi @dilanfd

We don't have constraints on the minor versions of Python. The issue may be due to MACOSX_ARM, which is not a supported environment. (For MacOS, we only support X86 at the moment)

ZebinYang commented 1 year ago

Hi @wknauth,

Currently, PiML only supports Python 3.7, 3.8, and 3.9. You need to first downgrade py3.10 to py3.9 and then run pip install piml.

Starting from PiML-0.5.0, python 3.10 is supported.

deburky commented 1 year ago

Thanks to @ZebinYang's helpful hint about Arm, the following solution worked on Monterey 12.6.3 (source). One can create x86 environments on Mac Arm and pip install PiML using conda.

conda create -n my_x86_env -y
conda activate my_x86_env
conda config --env --set subdir osx-64
conda install python=3.10

After creating the environment, in VS Code Jupyter I was able to install PiML. It would be very helpful if you could share more details about this in the User Guide, I am sure many people would give up quite fast

ZebinYang commented 10 months ago

Closed as starting from PiML-0.5.1, Mac ARM is supported with Python 3.8, 3.9, and 3.10.

NicoHambauer commented 4 months ago

Thank you @ZebinYang for adding support for Apple ARM and pointing it out here! Appreciate that a lot! I was searching the readme for a note on ARM based architecture, but found it in the issues after some quick search.

I experienced that pip install piml yet causes troubles with ARM. They fail at some step in building a wheel file using cmake. Attached i got some traces.

 Building wheels for collected packages: qdldl
        Building wheel for qdldl (pyproject.toml): started
        Building wheel for qdldl (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error

        × Building wheel for qdldl (pyproject.toml) did not run successfully.
        │ exit code: 1
        ╰─> [59 lines of output]
            running bdist_wheel
            running build
            running build_ext
            Traceback (most recent call last):
              File "/Users/..../bin/cmake", line 5, in <module>
                from cmake import cmake
            ModuleNotFoundError: No module named 'cmake'
            Traceback (most recent call last):

....

               raise CalledProcessError(retcode, process.args,
            subprocess.CalledProcessError: Command '['cmake', '--version']' returned non-zero exit status 1.
            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for qdldl
      Failed to build qdldl
      ERROR: Could not build wheels for qdldl, which is required to install pyproject.toml-based projects
      [end of output]

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

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

Did anyone else encounter this error, or is that one related to my installations?

Best, Nico

NicoHambauer commented 4 months ago

I fixed this issue by installing cmake for ARM first:

conda install anaconda::cmake

see https://anaconda.org/anaconda/cmake

After that I installed piml.

Might be helpful for others. :)

Cheers, Nico