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
make ipython works with different python versions cleanly #13952
Comments
Yeah we tried this, and rolled it back.
This is pretty much not going to work with pip-installed artifacts without
ipython building a huge matrix of wheels, or building special
ipython-python-major-version-entry-point packages
Indeed, this is what we had to do on conda-forge to support that feature.
Luckily all of that has been rolled back, as well.
If you wish to maintain these packages on pypi, go right ahead!
More broadly: doing --user installs of binary wheels (or things that depend
on them) all but guarantee _something_ will break in the future, due to
entirely unmanaged dependencies, and generally can't be recommended for
ipython/jupyter tools.
|
so what should we do then, must use virtualenv/venv/pipenv/pipx to handle multiple pythons and ipythons in their sandboxes? and avoid |
Yes, for each portable, reproducible, interactive computing line of
inquiry, it doesn't seem too controversial to recommend maintaining a
source-of-truth file for a package manager of choice which can create
isolated environments. If a system package manager offers everything
required, then that's likely the most robust, but if they all did
everything, this wouldn't be an issue.
The resolution of $PATH is a case in point, tidily handled by virtual
environments, to a certain extent: whatever is in the managed environment
"wins," and the lower level system provides what is not managed... Or not.
Any any rate, please see the web of issues hanging of the most recent PR
for more context #13880, and probably don't hold your breath for this being
implemented or reviewed of PRd.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
on Linux if I do:
pip3.10 install --user ipython
pip3.11 install --user ipython
They both use the same ipython file at $HOME/.local/bin/ipython, I would expect there are both ipython3.10 and ipython3.11 created so I can specify which python version my ipython is supposed to work with. The default ipython can be whatever the default Python is in the system(in my case it is 3.10 on ubuntu 22.04)
I can create them manually of course, it could be nice if this is created automatically when I have multiple pythons to work with their own ipythons though.
The text was updated successfully, but these errors were encountered: