Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot Install with Python 3.13 #102

Closed
1 task done
da1910 opened this issue Oct 9, 2024 · 17 comments
Closed
1 task done

Cannot Install with Python 3.13 #102

da1910 opened this issue Oct 9, 2024 · 17 comments
Labels
bug Something isn't working

Comments

@da1910
Copy link

da1910 commented Oct 9, 2024

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Poetry cannot be installed with python 3.13. It has a pin on keyring < 25, and keyring 24 does not support python 3.13.

The pip install of poetry 1.8.3 in fact required keyring 25, it should be upgraded to match.

Installed packages

Name Version Build Channel

_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
bzip2 1.0.8 h4bc722e_7 conda-forge
ca-certificates 2024.8.30 hbcca054_0 conda-forge
ld_impl_linux-64 2.43 h712a8e2_1 conda-forge
libexpat 2.6.3 h5888daf_0 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libgcc 14.1.0 h77fa898_1 conda-forge
libgcc-ng 14.1.0 h69a702a_1 conda-forge
libgomp 14.1.0 h77fa898_1 conda-forge
libmpdec 4.0.0 h4bc722e_0 conda-forge
libsqlite 3.46.1 hadc24fc_0 conda-forge
libuuid 2.38.1 h0b41bf4_0 conda-forge
libzlib 1.3.1 hb9d3cd8_2 conda-forge
ncurses 6.5 he02047a_1 conda-forge
openssl 3.3.2 hb9d3cd8_0 conda-forge
pip 24.2 pyh145f28c_1 conda-forge
python 3.13.0 h9ebbce0_100_cp313 conda-forge
python_abi 3.13 5_cp313 conda-forge
readline 8.2 h8228510_1 conda-forge
tk 8.6.13 noxft_h4845f30_101 conda-forge
tzdata 2024b hc8b5060_0 conda-forge
xz 5.2.6 h166bdaf_0 conda-forge

Environment info

 active environment : test313
active env location : /home/ME/miniforge3/envs/test313
        shell level : 2
   user config file : /home/ME/.condarc

populated config files : /home/ME/miniforge3/.condarc
conda version : 24.9.1
conda-build version : 24.5.1
python version : 3.12.6.final.0
solver : libmamba (default)
virtual packages : __archspec=1=icelake
__conda=24.9.1=0
__cuda=12.6=0
__glibc=2.35=0
__linux=5.15.153.1=0
__unix=0=0
base environment : /home/ME/miniforge3 (writable)
conda av data dir : /home/ME/miniforge3/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
package cache : /home/ME/miniforge3/pkgs
/home/ME/.conda/pkgs
envs directories : /home/ME/miniforge3/envs
/home/ME/.conda/envs
platform : linux-64
user-agent : conda/24.9.1 requests/2.32.3 CPython/3.12.6 Linux/5.15.153.1-microsoft-standard-WSL2 ubuntu/22.04.5 glibc/2.35 solver/libmamba conda-libmamba-solver/24.7.0 libmambapy/1.5.9
UID:GID : 1000:1000
netrc file : None
offline mode : False

@da1910 da1910 added the bug Something isn't working label Oct 9, 2024
@BastianZim
Copy link
Member

From the GitHub tag I can see that we are correctly matching the version of keyring: https://github.com/python-poetry/poetry/blob/1.8.3/pyproject.toml#L44

Are you sure that the pip version is different? If that is the case, would you mind opening an issue at poetry and asking why these are different?

@da1910
Copy link
Author

da1910 commented Oct 9, 2024

Apologies, I stand corrected. I'm not therefore sure what the fix is, probably waiting for a new release of poetry.

@BastianZim
Copy link
Member

No worries! Do you know if keyring just doesn't support python13 or is it not available yet? Not all packages on conda-forge have python13 but it will be added over time. Maybe that fixes it?

@Andy-Grigg
Copy link

It looks like keyring recently switched to building architecture- and python-independent packages, but only since keyring 25. Keyring 24 uses python-specific packages, but since it pre-dates Python 3.13, there are no Python 3.13 builds.

In a clean environment, conda install keyring with python 3.13 works fine and installs keyring 25.4.1. Doing conda install "keyring<25" fails.

Ultimately, I think the fix has to be for poetry to release a new version that allows keyring v25, which will then unblock this issue.

@BastianZim
Copy link
Member

Ahh hmm yeah that makes sense.

Ultimately, I think the fix has to be for poetry to release a new version that allows keyring v25, which will then unblock this issue.

Agreed, unfortunately. Sorry that we couldn't fix it.

@BastianZim BastianZim closed this as not planned Won't fix, can't repro, duplicate, stale Oct 9, 2024
@da1910
Copy link
Author

da1910 commented Oct 10, 2024

python-poetry/poetry#9747 Looks like no appetite to fix it from their side...

@xylar
Copy link
Contributor

xylar commented Oct 10, 2024

It seems like a good solution would be to make noarch packages for keyring 24.x.x. I'll see what I can do.

@xylar
Copy link
Contributor

xylar commented Oct 10, 2024

I have made the request:
conda-forge/keyring-feedstock#119

I have the pieces in place (it was quite easy to backport what they had done for 25.x to 24.x). Let's see what they say.

@xylar
Copy link
Contributor

xylar commented Oct 10, 2024

Should have a fix soon in:
conda-forge/keyring-feedstock#120

@xylar
Copy link
Contributor

xylar commented Oct 10, 2024

@da1910 and everyone, the good news is that the keyring issue is now fixed and this should work (for linux at least, give if a few more minutes for osx and win):

conda create -y -n test keyring=24.3.1 python=3.13

The bad news is that there are many other packages that prevent this from working:

conda create -y -n test poetry python=3.13

We'll need to keep working our way though them.

@Andy-Grigg
Copy link

Thank you @xylar for jumping into this and getting things moving so quickly!

I've only looked at this superficially, but on Linux at least, it looks like dulwich is the only outstanding issue, and as far as I can see it doesn't have any problematic dependencies, only a fairly loose dependency on urllib3.

@xylar
Copy link
Contributor

xylar commented Oct 10, 2024

Okay, I agree. Working on that here:
conda-forge/dulwich-feedstock#92

@drhagen
Copy link

drhagen commented Oct 10, 2024

I am not sure that working around this is good idea. Right now, the latest version of Poetry does not support Python 3.13, because the ticket adding support is merged but not released. If you manage to get Poetry installed in Python 3.13, it will build your package, but not mark it as compatible with 3.13. Now, you could make the argument "who cares about trove classifiers?", but it should be considered that the Poetry itself doesn't think that Python 3.13 exists yet.

@Andy-Grigg
Copy link

I'm not sure I agree with this. The poetry pyproject.toml file defines a Python ^3.8 dependency here https://github.com/python-poetry/poetry-core/blob/main/pyproject.toml#L26, so whilst the trove classifiers don't state a compatibility with Python 3.13, poetry's own dependencies state that Python 3.13 is supported.

I also wouldn't characterize these additional publishes as workarounds. There's nothing being published that isn't already advertised as being available for Python 3.13 on other platforms. If these packages had been published as noarch packages previously, or were already updated to support Python 3.13, then there would be nothing to do.

@drhagen
Copy link

drhagen commented Oct 10, 2024

Yeah, treating the pyproject.toml as authoritative is probably more correct. As I said, "who cares about trove classifiers?" is a completely legitimate view.

@xylar
Copy link
Contributor

xylar commented Oct 10, 2024

I believe dulwich is there now.

@xylar
Copy link
Contributor

xylar commented Oct 10, 2024

This worked for me on osx:

conda create -y -n test poetry=1.8.3 python=3.13

I'm going to close this again but please comment if you run into trouble.

@xylar xylar closed this as completed Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants