ReadAlongs / SoundSwallower

An even smaller speech recognizer / force aligner
Other
32 stars 4 forks source link

fix: generate py39 wheels too #66

Closed joanise closed 2 months ago

joanise commented 2 months ago

The absence of soundswallower-0.6.4-cp39-cp39-win_amd64.whl on pypi means I (and therefore Studio CLI users) cannot install ReadAlongs/Studio on my windows machine using Python 3.9 without installing the MS Visual Studio compiler. So add py39 wheels to pyproject.toml so they're generated next time we release.

PR Goal?

Enable simple ReadAlongs/Studio installation on Windows with Python 3.9

Fixes?

The fact that pip install -e . in ReadAlongs/Studio currently fails on Windows with a fresh Python 3.9 environment unless the Visual Studio compiler is installed.

Feedback sought?

Sanity check

Priority?

low

Confidence?

ok

Version change?

no

joanise commented 2 months ago

Darn, this PR seems to have uncovered issues with the CI workflow.

One simple fix to do is to bump actions/checkout@v3 to actions/checkout@v4 everywhere and mymindstorm/setup-emsdk@v12 to mymindstorm/setup-emsdk@v14 - that'll remove the deprecated node warnings in the logs.

The macos error about the environment being externally managed is probably simple to fix by using a venv like the logs say, although I would tend to use actions/setup-python@v5 like we do in ReadAlongs/Studio instead.

The nodetest errors I don't understand, but that CI job was already broken 5 months ago. The logs are gone, though, so I can't check if it was the same error.

joanise commented 2 months ago

Alright, I just fixed the stuff I understand, and also believe this PR could be merged without fixing the nodetest job, instead making an issue for that.

dhdaines commented 2 months ago

Ah. Are you required to use Python 3.9 by some quirk of the NRC environment?

I suppose I should just build all the wheels for all the versions, but figured that I'd concentrate on popular Linux distributions, since on Windows and Mac you can generally choose your Python version (via conda or whatever).

joanise commented 2 months ago

No, I'm not required to use py 39 anywhere, but we declare "Programming Language :: Python :: 3.9", in pyproject.toml and also in g2p and Studio, as well as "Operating System :: OS Independent", , and so a user has legitimate expectations that it'll work.

I think the list of Python versions we generate wheels for should always be the same as the list of Python versions we say we support.