It’s all convention coming from older programming languages, particularly C, which comes from programmers wanting shorthand for things like “BRANCH_EQUAL $1 $2 $3” which is shorthand for some binary code.
Python has changed the logical and and or operators to be and
and or
instead of &&
and ||
.
The reason you do stuff in a venv is to isolate that environment from other python projects on your system, so one Python project doesn’t break another. I use Docker for similar reasons for a lot of non-Python projects.
A lot of Python projects involve specific versions of libraries, because things break. I’ve had similar issues with non-Python projects. I’m not sure I’d say Python is particularly worse about it.
There are tools in place that can make the sharing of Python projects incredibly easy and portable and consistent, but I only ever see the best maintained projects using them unfortunately.