I personally find VSCode the easiest editor to set up for Python development and the most powerful. I tried to set up the remote debugging in PyCharm, but it didn’t work. The refactoring tools available via pylance, linting with pycodestyle and the remote editing in VSCode took very little time or effort to set up and allow me to use the same editor I use for PHP, Zig and Rust. I have been working to set up neovim for a similar experience, which has access to a lot of the same features, but it has taken me many more hours of configuration. I understand there’s a lot of reasons not to like VSCode, but in terms of functionality and ease of setup for Python it has been the best for me.
Apart from the fact that the "editor" section sounds like an infomercial for VSCode, why would you overload a beginner with all that virtual environment bloat?
The whole "open" source system is marching backwards towards inscrutable IDEs that do work by magic and leave the user clueless.
Virtual environments are, sadly, absolutely crucial for Python beginners to get their heads around if they are to do anything more advanced then "hello world".
When I'm getting someone started I usually say:
"There is a magic incantation involved in Python development called 'activating your virtual environment' - if stuff isn't working as you expect, check that you have done this. Development environments are the hardest thing about learning to program. I'm so sorry."
Back when I started working with Python professionally, virtual environments were required before I could grok things. I just could not wrap my head around the crazy inconsistent behavior and nightmare dependencies until I discovered virtual environments.
I've never become a Python fan, but I really don't think it's even usable without virtual environments.
I don't have the time right now to watch the whole video so sorry if it's addressed, but what is the current state of packaging python applications for users? This was the biggest pain point for me the last time I worked with python outside of writing libraries. I think I was working on a Qt app and it was such a pain to find a way in particular to target multiple platforms.
Targeting multiple platforms? Use docker. I like Pipenv when developing, then using venv in the docker deployment after locking pipenv to a requirements .txt.
I'm still a bit befuddled as to why Docker is necessary in this case at all. Python has enough tools for package and dependancy management, if you're wanting to set up a remote machine for personal development, again Docker seems like overkill. I understand and fully accept that it's part of the development ecosystem, and it's good to get and be comfortable with it, but much like the suggestion for VS Code (which I use in my day to day, with many of the extensions mentioned) it seems like overkill for a beginner and overly specific for an intermediate++ developer, who should be more in a camp of "use whatever makes me most productive".
yedpodtrzitko|4 years ago
> `setup.py` / `setup.cfg` / `requirements.txt`
Yeah... no. Considering there are tools like Poetry and `pyproject.toml` superseding setup.*, I wouldn't call the aforementioned "modern"
anand-bala|4 years ago
Last I used poetry was a couple of years ago, and IIRC it didn't gel well with Conda environments.
404mm|4 years ago
VS Code is probably one of the top five options, but not mentioning PyCharm as one of the top choices is not right.
There’s a significant difference between a general purpose pluggable code editor, such as VC Studio, Atom, Sublime… and actual IDE made for Python.
memco|4 years ago
timpfe|4 years ago
barefeg|4 years ago
jacksonkmarley|4 years ago
grigy|4 years ago
rgwant|4 years ago
The whole "open" source system is marching backwards towards inscrutable IDEs that do work by magic and leave the user clueless.
simonw|4 years ago
When I'm getting someone started I usually say:
"There is a magic incantation involved in Python development called 'activating your virtual environment' - if stuff isn't working as you expect, check that you have done this. Development environments are the hardest thing about learning to program. I'm so sorry."
anthonygd|4 years ago
I've never become a Python fan, but I really don't think it's even usable without virtual environments.
Barrin92|4 years ago
coopreme|4 years ago
jlangemeier|4 years ago
shroom|4 years ago
404mm|4 years ago