I’ve done a bit of programming before. I’m in a bachelors program for structural engineering, but they only get us to focus on Python.
Python material is so very wordy. I often try to restart from basics, and there’s a lot of ‘you have to reinstall it and use the pure python version, it’s the only way you’ll learn it properly’ - but I find this way more confusing than using an IDE. I struggle to implement new libraries as well, in my existing IDE (i use spyder). Feels so clunky.
I want to be able to make things i can actually use, practice programming regularly, but I’m really not good at self directed stuff. Or even setting things up, as i tried to explain with the second paragraph. Any pointers towards relevant resources?


I faced this problem numerous times. This is mostly a problem with parsing the text.
Most often the solution is to translate the text into how other people think through a problem and replicate their mental model of the world in your head. This sounds tough but when you read, you should pay attention at various levels: Phrases -> Sentences -> Paragraph. Construct the mental model as numerous Cause->Effect relations. Identify other types of relations that the author wants to convey.
Often also change the way you parse the text. What I described above is Bottom-Up approach where you construct the big picture from smaller pieces. The other way would be to start Top-Down, construct a big picture view by reading only the start and end of a specific paragraph/technique, understand the transformation that is happening to code/data/control flow, then move on to the next big chunk. Eventually you will get the general idea. Then you can drill down on specific paragraphs/ideas and focus on the details.
Regarding Python itself, The sentence “reinstall it and use the pure python version, it’s the only way you’ll learn it properly” is assuming that one would easily figure out one among the the numerous ways of installing a python environment. It’s not an easy thing to do given that you as a beginner won’t understand all the nuances of what each method achieves.
Easiest way to proceed is to pick one way to setup your python environment and be done with it.
Tl; Dr
I am on Linux, so my personal stack is:
pyenv -> a.
curl -fsSL https://pyenv.run/ | bashb.~/.pyenv/bin/pyenv init --installInstall a python version -> a.
pyenv install 3.14Create my workspace and set the python version to the one I installed: a.
mkdir workspaceb.cd workspacec.pyenv local 3.14Create a
venvso I have a local python virtual environment: a.python3 -m venv .venvb.source .venv/bin/activateStart working on my project/code.
(Note for others: I don’t recommend uv here as I don’t use it myself and haven’t tried to properly use it for an extended duration of time)
On Windows, use python install manager + Venv.
This is a good tutorial:
https://www.youtube.com/watch?v=6e3WLhPLiZQ
Edit: I forgot to mention that the python docs are an excellent starting point for learning python in general: https://docs.python.org/3/