That's exactly why I proposed a `pip` function available from the Python prompt. I suppose you could still tell your students to copy/paste the following into their Python interpreter.
def pip(args): import sys import subprocess subprocess.check_call([sys.executable, "-m", "pip"] + args.split()) print("Please restart Python now to use installed or upgraded packages.")
I suppose an alternative is to set up jupyterhub
and let all your students just access that from a webbrowser.
2017-11-06 7:47 GMT+01:00 Michel Desmoulin firstname.lastname@example.org:
Today I'm going to give a training in Python again.
And again it will go the same way.
On Mac I will have to make people install python, then tell them to use pip3.
On Windows, I will have to warn them about checking the "add python executable to system path" (that one of them will ALWAYS miss anyway). Then tell them to use py -3.x -m pip because some of them will have several versions of Python installed.
Then on linux, I will tell them to install python-pip and python-venv and use python3 -m pip.
I'll talk about --user, but commands won't be usable on some machine where the Scripts or bin dir is not in the system path.
Then I will make them create a virtualenv so that they can avoid messing with their system python and finally can just use "pip install" like in most tutorials on the Web.
And eventually I'll talk about pipenv and conda. The first one so they don't have to think about activating the virtualenv everytime, or pip freeze, or create the venv, or add it to gitignore, etc. The second because anaconda is very popular on windows.
There is no way a beginner is going to get any that by themselves without a lot of time and pain. They will read some tutorial on the web and struggle to make sens of what pip is and why "pip install" doesn't work and why "python sucks".
I think Python is offering an incredible experience for first timer. However, the whole "where is walpip" shenanigans is not one of them.
I really want some people from this list to discuss here so we can find a way to either unify a bit the way we install and use pip, or find a way to express a tutorial that always works for people on the most popular platforms and spread the word so that any doc uses it.
Python-ideas mailing list Pythonemail@example.com https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/