如何创建仅包含 python/pip 一个版本的 python 虚拟环境?
How can I create a python virtual environment that only includes one version of python/pip?
我的印象是,如果我创建一个具有特定 python 版本的 python 环境,它会只使用该版本,但看来我错了:
$ /usr/bin/python3 -m venv pyenv
$ ls pyenv
$ ls pyenv/bin
activate activate.fish easy_install pip pip3.8 python3
activate.csh Activate.ps1 easy_install-3.8 pip3 python
为什么 python 的旧版本需要与我的 venv 中的当前版本并存?我可以指定不删除,还是应该手动删除 python2/pip?
在您的虚拟环境中,所有 python*
可执行文件都将指向同一版本。您可以从符号链接中看到这一点:
$ /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
.
例如,您使用 #!/usr/bin/env python
或 #!/usr/bin/env python3
调用的 python 脚本也是如此。
仅当您显式调用不同版本的 python(例如 python2
)或提供 python 可执行文件的完整路径(例如 /usr/bin/python
)您是否可以在系统的其他地方找到另一个版本。
我的印象是,如果我创建一个具有特定 python 版本的 python 环境,它会只使用该版本,但看来我错了:
$ /usr/bin/python3 -m venv pyenv
$ ls pyenv
$ ls pyenv/bin
activate activate.fish easy_install pip pip3.8 python3
activate.csh Activate.ps1 easy_install-3.8 pip3 python
为什么 python 的旧版本需要与我的 venv 中的当前版本并存?我可以指定不删除,还是应该手动删除 python2/pip?
在您的虚拟环境中,所有 python*
可执行文件都将指向同一版本。您可以从符号链接中看到这一点:
$ /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
.
例如,您使用 #!/usr/bin/env python
或 #!/usr/bin/env python3
调用的 python 脚本也是如此。
仅当您显式调用不同版本的 python(例如 python2
)或提供 python 可执行文件的完整路径(例如 /usr/bin/python
)您是否可以在系统的其他地方找到另一个版本。