2023年10月25日
Windows 10下两个版本的Python及其虚拟环境的共存
下面开始安装两个版本的Python
打开其中一个版本的Python的安装程序
在安装程序的首页,选择Customize installation
在安装程序的第二页,只勾选pip,和py launcher,此处py launcher为默认勾选
在安装程序的第三页,只勾选Add Python to environment variables,并选择安装路径
点击安装,并使用同样的方法安装另一个版本的Python
安装完之后分别打开两个版本的Python的安装目录(第一层目录),把pythonw.exe分别重命名为pythonw_1.exe和pythonw_2.exe,把python.exe复制一份,并分别重命名为python_1.exe和python_2.exe
在PowerShell中验证以下命令
python_1
python_2
在PowerShell中分别使用以下命令强制重新安装两个版本的Python的pip
python_1 -m pip install --upgrade pip --force-reinstall
python_2 -m pip install --upgrade pip --force-reinstall
分别打开两个版本的Python的安装目录,然后打开Scripts文件夹,把pip3.exe分别重命名为pip3_1.exe和pip3_2.exe
在PowerShell中验证以下命令
pip3_1 list
pip3_2 list
下面开始创建虚拟环境
在PowerShell中打开其中一个版本的Python的安装目录,运行以下命令,其中,虚拟环境存放在venv后面的路径
.\python.exe -m venv D:\install\python-virtual\venv_1\
在PowerShell中打开D:\install\python-virtual\venv_1\Scripts\
,运行以下命令
.\activate
可以看到已经进入虚拟环境,在虚拟环境中验证以下命令
pip list
可以看到虚拟环境中已安装的库是独立的,说明虚拟环境创建成功
运行以下命令可以退出虚拟环境
deactivate
可以使用同样的方法创建另一个版本的Python的虚拟环境
(完)
2023年10月28日续
Python安装时第二页不勾选tcl/tk and IDLE的话,使用matplotlib时会出现以下问题
ModuleNotFoundError: No module named 'tkinter'
如果已经安装完Python并且已经生成了虚拟环境,也没有问题,重新打开Python安装包,选择Modify,然后勾选tcl/tk and IDLE,然后安装就好了
安装好之后,虚拟环境里也能用,不需要额外操作
另外,在虚拟环境里使用matplotlib时,如果出现以下问题,并且无法显示图像时
UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
添加以下代码即可
import matplotlib
matplotlib.use('TkAgg')
另记
在虚拟环境之外的PowerShell中输入py会默认打开最新版本的Python,这是因为在以下路径有个py.exe。
C:\Users\your_name\AppData\Local\Programs\Python\Launcher
在虚拟环境中的PowerShell中输入py会打开虚拟环境中的Python。