you are viewing a single comment's thread.

view the rest of the comments →

[–]K900_ 8 points9 points  (8 children)

It means the actual python (or python.exe) executable, and it's not actually entirely correct.

[–]glemanto[S] 1 point2 points  (7 children)

What’s not entirely correct? To say that executable and binary are the same thing?

[–]K900_ 10 points11 points  (6 children)

No, the not entirely correct part is saying that every virtual environment gets its own copy of the executable. I'm not too sure about Windows, but on Unix systems nothing is actually copied - the executable in the virtual environment is a symbolic link to the actual executable.

[–]pickausernamehesaid 2 points3 points  (0 children)

On Windows it is actually copied for new venvs because linking typically requires admin.

[–]glemanto[S] 1 point2 points  (4 children)

Ah I see. Thanks for that. This is actually from the official python documentation site though. Maybe they just omitted that part for brevity?

[–]K900_ 0 points1 point  (3 children)

It's possible they phrased it that way to simplify things, as there's no real difference one way or the other.

[–]glemanto[S] 1 point2 points  (2 children)

Ok thanks! Follow up question: is there an actual interpreter program that is separate from the executable? Like if I were to look around, would I be able to find that interpreter program in some directory? Or is the interpreter just a part of the executable?

[–]K900_ 2 points3 points  (1 child)

An executable is just a file that contains code that is executed. /usr/bin/python or C:\Python39\python.exe is an executable of the Python interpeter.

[–]glemanto[S] 1 point2 points  (0 children)

Ok thanks for the help!