4 ms·
I teach Python to some middle school kids. Pip vs Pip3 and PYTHONPATH wasted entirety of two class sessions. By the way, Python should go beyond Go. It should
by harikb 7y ago
I teach Python to some middle school kids. Pip vs Pip3 and PYTHONPATH wasted entirety of two class sessions.
By the way, Python should go beyond Go. It should single binary the someone can install without root privileges. The fact that I have hundreds of Chromebooks at my school and I can’t use any of them - school IT, correctly, doesn’t want me mucking with advanced settings.
- brettcannon 7y agoPeople would love to see that happen, but it requires time and effort from people to build such a solution. Some people are trying, e.g. https://pyoxidizer.readthedocs.io/ https://pyoxidizer.readthedocs.io/ and https://briefcase.readthedocs.io/ https://briefcase.readthedocs.io/ as well as stalwarts like PyInstaller and such. But as I said, it takes time and effort and there's only so much of that when it's being done by volunteers in their evenings and weekends. And as an aside, I would suggest teaching them `python -m pip` over `pip3`: https://snarky.ca/why-you-should-use-python-m-pip/ https://snarky.ca/why-you-should-use-python-m-pip/.
- judge2020 7y agoThanks for the links - pyoxidizer looks promising with some good docs and being built on rust (but it won't work with QT's PySide2 likely until the next major release[0]), while briefcase looks to have been tailored to "beeware" usage and is lacking any standalone usage information. Hoping both these work out, PyInstaller works but other options would be welcomed. 0: https://github.com/indygreg/PyOxidizer/issues/228#issuecomment-601953256 https://github.com/indygreg/PyOxidizer/issues/228#issuecomme...
- j88439h84 7y agoI really hope the PSF can help the community move toward Poetry. It's a game changer relative to all the alternatives.
- harikb 7y agoThanks for the link. About the lack of resources problem though, I have a few points to make. I think one of the unfortunate things that happened is indeed the arrival of new languages. Go, Rust, Swift, whatever is taking away a bunch of senior developers to work on those. Even though Python is still "most wanted" and "most popular", imho that does not reflect the reality among senior developers who are capable of taking on large tasks like this. Sometimes the frustration expressed by package management has more to do with build dependencies rather than the distribution itself. Like a library that has a C dependency. In this context, the world of Go is equally messy, when CGO is involved. Luckily in their case, most people do rewrite libraries in Pure Go.
- jedieaston 7y agoFor that scenario (if you can’t use the Linux container on Chrome OS, which works even without flipping the devmode switch), repl.it is fantastic. It builds a fully working python (or C, or Java, or even a polyglot one that’s just Linux) environment, automatically deals with dependencies (if you type import pandas and it’s not installed, it gets installed), has synchronous collaboration and can even auto grade work with unit tests (at least, it was in beta last I checked). It’s the holy grail of learn- to-code software and it kicked butt in the class I used it in.
- takeda 7y agoIt already has that, if you create setup.cfg you can generate wheel package which can be installed with all dependencies using a single command.
- hermitdev 7y agoOne can easily install Python without root. You have to build from source and use the --prefix option to, say, install under $HOME. Also helpful to avoid the system Python which usually lags far behind on systems like RHEL.
- thw0rted 7y ago> "easily"... "build from source"... You think the school IT department won't let the GP install Python but will let them install a compiler toolchain? The benchmark for "easy" is you download one binary and run it in userspace. Add any additional steps and you can't use that word anymore.
- lucasverra 7y agoWhy not just repl.it web ide ?
- Zanni 7y agoHave you tried PythonAnywhere? [1] Should be a good fit for Chromebooks, assuming you've got decent internet in your class room. [1] https://www.pythonanywhere.com/details/education https://www.pythonanywhere.com/details/education
- nicoburns 7y agoYou could consider teaching JavaScript is you want to use Chromebooks. They have built in support...
- zo1 7y agoIf you're working with new/inexperienced developers on disparate and various systems, please use a proper IDE like PyCharm that holds a developer's hand along the way. I'm not saying this because of preference (which I'll admit I have), but from a practical perspective. I've seen it first-hand countless times when someone new comes to Python. Especially "bootcamp" style developers that think they can do everything in VSCode. Don't mess around with custom, hand-rolled setups, you'll waste so much time as you've experienced.
- sauldcosta 7y agoYou and your students can get access to a few online coding tools designed to help with this via the GitHub Student Developer Pack and the GitHub Teacher Toolbox (https://education.github.com https://education.github.com), all for free. Our online coding tool (and entire course library) is included in the Pack. https://next.tech/github-students https://next.tech/github-students and https://next.tech/github-teachers https://next.tech/github-teachers if you'd like to take a look.