the thing is python cli has no concept of locally scoped libraries. you can install libs wherever you want, but all python.exe will refer to the same global location.
this is why you need to activate virtualenv every time you open a new command line, so that it can set ENV variables for the current session and force python to use the locally scoped folders.
While in C# et all. the compiler knows to check files locally. and you don't need to activate (or deactivate) environment at all.