arkrow/PyMusicLooper

Cannot install when Python is >=3.12

Closed this issue · 8 comments

Before continuing with the bug report, does updating to the latest version fix this issue? [Yes/No]

No

Describe the bug
Cannot install, reports Python is >=3.12 when it is 3.11.7

Numba issue numba/numba#9197

Debugging Information

% pipx install pymusiclooper 
Fatal error from pip prevented installation. Full pip output in file:
    /Users/matt/.local/pipx/logs/cmd_2024-01-15_10.09.36_pip_errors.log

pip seemed to fail to build package:
    numba<0.58.0,>=0.57.0

Some possibly relevant errors from pip install:
    error: subprocess-exited-with-error
    RuntimeError: Cannot install on Python version 3.12.0; only versions >=3.8,<3.12 are supported.
    error: metadata-generation-failed

Error installing pymusiclooper.

Expected behavior

  • should install on latest software

Environment Information (please complete the following information):

  • OS: macOS 14.2.1 Sonoma
  • PyMusicLooper version being used (execute pymusiclooper --version in the terminal if unsure):
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): Yes
  • Python: 3.11.7

Additional context

  • was previously using 2.5.3 through pip and made the mistake of uninstalling to upgrade
  • install through pip gives 3.2.2 but it's broken in other ways, see #28

Partial workaround for installing:

$ /opt/homebrew/opt/python@3.11/bin/python3.11 -m pip install pipx
$ /opt/homebrew/opt/python@3.11/bin/python3.11 -m pipx install pymusiclooper
  installed package pymusiclooper 3.2.2, installed using Python 3.11.7
  These apps are now globally available
    - pymusiclooper
done! ✨ 🌟 ✨

BUT, this results in an install broken the same way as pip. See #28

Users installing under a Python 3.12-based environment will need to activate the pre-release --pre flag, since numba's 3.12 supported version is still in the pre-release stage:

pipx install pymusiclooper --pip-args="--pre"

This should be unnecessary soon however, when the new numba version is officially released and the issue linked is closed (status: numba/numba#9197).

Indeed, that new pre-release version installs and works. Many thanks!

And what bad timing for me to upgrade in this period of Python 3.12 + bad numba.

I'll leave this issue open until there's a release version that resolves this issue.

Numba 0.59.0 has been released on earlier this month with official support for Python 3.12, and as such this workaround is no longer required.

PyMusicLooper now officially supports Python 3.12.

Thanks, I just did pipx install --force pymusiclooper to get back on main.

I don't know if that was really needed, as I'm mostly unfamiliar with python, but there we go.

I'm still seeing issues with install failing with python 3.12.2
I even tried the "--pre" arg but got same result.

C:\Python312>pipx install pymusiclooper --pip-args="--pre"
Fatal error from pip prevented installation. Full pip output in file:
    C:\Users\Anthony\pipx\logs\cmd_2024-04-25_14.54.36_pip_errors.log

pip seemed to fail to build package:
    numba<0.58.0,>=0.57.0

Some possibly relevant errors from pip install:
    error: subprocess-exited-with-error
    RuntimeError: Cannot install on Python version 3.12.2; only versions >=3.8,<3.12 are supported.

Error installing pymusiclooper.

Thanks for the report @AnthonyBe. I've managed to replicate your issue, and it should be fixed as of the new v3.4.0 release. Let me know if that resolved the issue for you as well.

Confirmed that 3.4.0 installed successfully on python 3.12.2

C:\WINDOWS\system32>pipx install pymusiclooper
  installed package pymusiclooper 3.4.0, installed using Python 3.12.2
  These apps are now globally available
    - pymusiclooper.exe

Thank you @arkrow !