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

Depend on ipython_genutils to fix issue with missing ipykernel dependency #1844

Merged
merged 1 commit into from
Oct 5, 2021

Conversation

microbit-carlos
Copy link
Contributor

@microbit-carlos microbit-carlos commented Oct 4, 2021

We keep ipykernel below version 6 to keep compatibility with macOS 10.13 (and possibly 10.14 as well), since v6 includes a dependency on debugpy and that only has wheels for newer macOS versions. This also maintains compatibility with Python 3.6, as v6 is Python 3.7+.

Turns out v5 of ipykernel depends on ipython_genutils, but this isn't explicitly declared as a dependency in the package. It also depends on traitlets, which incidentally brought ipython_genutils, so it's worked fine so far. However traitlets dropped this dependency in v5.1, so ipython_genutils isn't picked any more and as a workaround we need to manually specify it in the Mu dependencies and the user venv dependencies.

More info in #1840 and ipython/ipykernel#759.

Fixes #1840, fixes #1825, and fixes #1816.

@carlosperate
Copy link
Member

@tmontes I think you mentioned it might be enough to add this dependency only to the user virtualenv, but I've added it to setup.py just in case as well.

Copy link
Member

@carlosperate carlosperate left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merging quickly to be able to create working builds again.

@carlosperate carlosperate merged commit a992f9f into master Oct 5, 2021
@carlosperate carlosperate deleted the ipython_genutils branch October 5, 2021 11:33
@tmontes
Copy link
Member

tmontes commented Oct 5, 2021

@tmontes I think you mentioned it might be enough to add this dependency only to the user virtualenv, but I've added it to setup.py just in case as well.

...ok, should be harmless (crossing fingers!). Things are looking good on my side:

  • Cleaned up everything (dev + user venvs).
  • Updated master.
  • Created dev venv from scratch + pip installed Mu onto it.
  • Mu launched and ran fine from source.
  • Packaged with pup, installed, Mu launched ran fine.
  • Both on macOS and Windows.

Go @ntoll! :)

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