On Saturday, November 4, 2017, Erik Bray <erik.m.b...@gmail.com> wrote:
> On Nov 4, 2017 08:31, "Stephen J. Turnbull" <turnbull.stephen.fw@u. > tsukuba.ac.jp > <javascript:_e(%7B%7D,'cvml','turnbull.stephen...@u.tsukuba.ac.jp');>> > wrote: > > Erik Bray writes: > > > Nope. I totally get that they don’t know what a shell or command prompt > > is. THEY. NEED. TO. LEARN. > > > Just to be clear I did not write this. Someone replying to me did. > > I'm going to go over all the different proposals in this thread and see if > I can synthesize a list of options. > Here's are some of the challenges (both for a pip() function and a GUI): - Create reproducible software environments - Log the pip CLI commands - Log whether a version was specified - Be able to replay that log: - Which inputs need to be escaped before passing them through to a shell or exec*? (see: shlex.split()) - Please don't flood PyPi with unnecessary requests - (Turns out there are 5 invocations of `!pip install' buried somewhere in a script that's run 5 times in a hour by 25 students: even with pip caching package downloads, how many HTTP requests is that? Who pays for PyPi?) - There are a number of GUIs for pip: web-based, GUI based, CLI wrappers: - web: - CLI wrappers: pipenv, pipsi; ``conda install pip`` - GUI: PyCharm - Tcl/Tk is in the standard library. - ``conda install spyder`` installs At - pip does not have a stable API. - not even pip.main() - what about the shell CLI? - sarge is still safer than shlex.split() > > I think, even if it's not a solution that winds up in the stdlib, it > would be good to have some user stories about how package installation from > within an interactive prompt might work (even if not from the standard > REPL, which it should be noted has had small improvements made to it over > the years). > This works today but is inadvisable because it risks wasting bandwidth if the %run (!) instructions are frequently re-run unnecessarily: $ ipython >>> !pip install -U ipython >>> exit() $ ipython > I also have my doubts about whether this *shouldn't* be possible. I mean, > to a lot of beginners starting out the basic REPL *is* Python. They're so > new to the scene they don't even know what IPython or Jupyter is or why > they might want that. They aren't experienced enough to even know what > they're missing out on. In classrooms we can resolve that easily by > pointing our students to whatever tools we think will work best for them, > but not everyone has that privilege. > https://conda.io/docs/user-guide/install/index.html $ conda install -y pip ipython notebook spyder Or, just: $ conda install -y ipython notebook > > Best, > Erik > > I don't want to take a position on the proposal, and I agree that we > should *strongly* encourage everyone to learn. But "THEY. NEED. TO. > LEARN." is not obvious to me. > > Anecdotally, my students are doing remarkably (to me, as a teacher) > complex modeling with graphical interfaces to statistical and > simulation packages (SPSS/AMOS, Artisoc, respectively), and collection > of large textual databases from SNS with cargo-culted Python programs. > For the past twenty years teaching social scientists, these accidental > barriers (as Fred Brooks would have called them) have dropped > dramatically, to the point where it's possible to do superficially > good-looking (= complex) but entirely meaningless :-/ empirical > research. (In some ways I think this lowered cost has been horribly > detrimental to my work as an educator in applied social science. ;-) > > The point being that "user-friendly" UI in many fields where (fairly) > advanced computing is used is more than keeping up with the perceived > needs of most computer users, while the essential (in the sense of > Brooks) non-computing modeling difficulties of their jobs remain. > > By "perceived" I mean I want my students using TeX, but it's hard to > force them when all their professors (except me and a couple > mathematicians) use Word (speaking of irreproducible results). It's > good enough for government work, and that's in fact where many of them > end up (and the great majority are either in government or in > equivalent corporate bureaucrat positions). Yes, I meant the > deprecatory connotations of "perceived", but realistically, I admit > that maybe they *don't* *need* the more polished tech that I could > teach them. > > > I remember when I first started out teaching Software Carpentry I made the > embarrassing mistake (coming from Physics) of assuming that LaTex is > de-facto in most other academic fields :) > > > Hiding it is not a good idea for anyone. > > Agreed. Command lines and REPLs teach humility, to me as well as my > students. :-) > > Steve > > > -- > Associate Professor Division of Policy and Planning Science > http://turnbull/sk.tsukuba.ac.jp/ Faculty of Systems and Information > Email: turnb...@sk.tsukuba.ac.jp > <javascript:_e(%7B%7D,'cvml','turnb...@sk.tsukuba.ac.jp');> > University of Tsukuba > Tel: 029-853-5175 Tennodai 1-1-1, Tsukuba 305-8573 JAPAN > > >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/