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

NRN pip package not installable on Python 3.13 #3316

Open
thorstenhater opened this issue Jan 22, 2025 · 2 comments
Open

NRN pip package not installable on Python 3.13 #3316

thorstenhater opened this issue Jan 22, 2025 · 2 comments
Assignees

Comments

@thorstenhater
Copy link

The problem occurs when trying to

uv pip install neuron

and we get

Using Python 3.13.1 environment at: check/env
  × No solution found when resolving dependencies:
  ╰─▶ Because only the following versions of neuron are available:
          neuron==7.8.0.119
          neuron==7.8.0.127
          neuron==7.8.1
          neuron==7.8.1.1
          neuron==7.8.2
          neuron==8.0.0
          neuron==8.0.1
          neuron==8.0.2
          neuron==8.1.0
          neuron==8.2
          neuron==8.2.1
          neuron==8.2.2
          neuron==8.2.3
          neuron==8.2.4
          neuron==8.2.4.8
          neuron==8.2.6
      and neuron<=8.0.0 has no wheels with a matching Python ABI tag (e.g., `cp313`), we can conclude that neuron<=8.0.0
      cannot be used.
      And because neuron==8.0.1 was yanked, we can conclude that neuron<8.0.2 cannot be used.
      And because neuron>=8.0.2,<=8.2.4 has no wheels with a matching Python ABI tag (e.g., `cp313`) and neuron==8.2.4.8
      was yanked (reason: Should have been 8.2.5a), we can conclude that neuron<8.2.6 cannot be used.
      And because neuron==8.2.6 has no wheels with a matching Python ABI tag (e.g., `cp313`) and you require neuron, we can
      conclude that your requirements are unsatisfiable.

      hint: You require CPython 3.13 (`cp313`), but we only found wheels for `neuron` (v8.2.6) with the following Python
      ABI tags: `cp37m`, `cp38`, `cp39`, `cp310`, `cp311`, `cp312`

The usage of uv here is an unimportant detail, the same happens for bare pip, and uv has a nice error message.
For what it's worth, this was seen on MacOS aarch64.

@nrnhines nrnhines self-assigned this Jan 22, 2025
@nrnhines
Copy link
Member

Yes. I believe it is time for another update to 8.2.7. I'll look into what cherry picks from the master are needed to make a wheel for Python 3.13

@nrnhines
Copy link
Member

Just a few notes to myself about Python 3.13 support in NEURON 8.2.

Python 3.13.1 broke [s for s in sl] where sl is a SectionList. Manual partial cherrypick of 00ba007. #3276

Cherrypick: Launching nrniv -python with Python 3.13.0 does not allow use of gui. (#3239)

Need some judgement about: bldnrnmacpkg.sh is the new name and updated for python3.13 (#3266)
The pkg is more robust due to static linking of readline and ncurses. But bumping MACOSX_DEPLOYMENT_TARGET to 10.15 (from 10.9) perhaps goes too far. My python3.13 on my Apple M1 is 'macosx-10.13-universal2'

Attempt to cherry-pick de07242 Add Python 3.13 support to CI (#3103)
but that results in 9 file conflicts. Looks like it should be done manually from git show de07242b information.

There is a build error when -DNRN_ENABLE_RX3D=ON. Perhaps a cython version issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants