В вашей виртуальной среде все исполняемые файлы python*
будут указывать на одну и ту же версию. Вы можете увидеть это по символам c ссылки:
$ /usr/bin/python3 -m venv pyenv
$ cd pyenv/bin
$ ls -l python*
lrwxrwxrwx 1 [user] [group] 7 May 28 05:49 python -> python3
lrwxrwxrwx 1 [user] [group] 16 May 28 05:49 python3 -> /usr/bin/python3
Аналогично, все исполняемые файлы pip
будут копиями одного и того же файла:
$ ls -l pip*
-rwxr-xr-x 1 [user] [group] 212 May 28 05:49 pip
-rwxr-xr-x 1 [user] [group] 212 May 28 05:49 pip3
-rwxr-xr-x 1 [user] [group] 212 May 28 05:49 pip3.6
$ diff3 pip*
[no output]
Это означает, например, , что после запуска сценария activate
, чтобы этот каталог bin
находился в вашем PATH
, вы найдете python
в своей виртуальной среде независимо от того, набираете ли вы python
или python3
.
То же самое верно для python скриптов, которые вы вызываете, например, с #!/usr/bin/env python
или #!/usr/bin/env python3
.
Только если вы явно вызываете другую версию python (например, python2
) или укажите полный путь к исполняемому файлу python (например, /usr/bin/python
), возможно, вы найдете другую версию, расположенную в другом месте вашей системы.