在 Windows 10 上的 Python 2.7 中创建 virtualenv,而其他 virtualenv 在 Python 3.8 中工作

Muh*_*aal 3 python virtualenv python-2.7

我无法在 Python 2.7 中安装虚拟环境。每当我尝试此命令 py -m pip install --user virtualenvpy -m pip install --user venv 它显示 3.8 中已满足要求时。虽然我已经激活了 Python 2.7 并在 cmd py 中简单地输入python它会显示 Python 2.7.12rc1 (v2.7.12rc1:13912cd1e7e8, Jun 12 2016, 05:51:33) [MSC v.1500 32 bit (Intel)] on win32

请指导我如何在 Python 2.7 中安装虚拟环境,并且我不想卸载/删除 Python3.8 请让我知道您是否需要进一步的解释。多谢*

小智 7

当您在 Windows PC 上安装了多个版本的 Python 时,您可以使用特定的Python.exe文件来控制正在使用的版本

PS C:\> .\Python27\python.exe --version
Python 2.7.9
PS C:\> .\Python37\python.exe --version
Python 3.7.7
Run Code Online (Sandbox Code Playgroud)

同样的规则适用于

PS C:\> .\Python27\Scripts\pip.exe --version
pip 20.2.4 from C:\Python27\lib\site-packages\pip (python 2.7)
PS C:\> .\Python37\Scripts\pip.exe --version
pip 20.2.4 from c:\python37\lib\site-packages\pip (python 3.7)
Run Code Online (Sandbox Code Playgroud)

您需要确保已使用 Python 2.7 版本的 pip安装virtualenv ,并通过检查路径来验证它使用的是正确的 python 版本

PS C:\> .\Python27\Scripts\pip.exe install virtualenv
PS C:\> .\Python27\Scripts\virtualenv.exe --version
virtualenv 20.1.0 from c:\python27\lib\site-packages\virtualenv\__init__.pyc
Run Code Online (Sandbox Code Playgroud)

我还为此演示安装了 Python 3.7 版本

PS C:\> .\Python37\Scripts\virtualenv.exe --version
virtualenv 20.1.0 from c:\python37\lib\site-packages\virtualenv\__init__.py
Run Code Online (Sandbox Code Playgroud)

然后使用你想要的版本创建你的虚拟环境,激活它,它应该是你想要的Python版本

PS C:\> .\Python27\Scripts\virtualenv.exe py2env
PS C:\> .\py2env\Scripts\activate
(py2env) PS C:\> python
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Run Code Online (Sandbox Code Playgroud)

最后是 Python 3.7 示例

PS C:\> .\Python37\Scripts\virtualenv.exe py3env
PS C:\> .\py3env\Scripts\activate
(py3env) PS C:\> python
Python 3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Run Code Online (Sandbox Code Playgroud)