Hi Michel,

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 <desmoulinmichel@gmail.com>:

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

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
Code of Conduct: http://python.org/psf/codeofconduct/