之前使用Django的时候,建虚拟环境的时候,没有任何问题。但是最近在学习opencv的时候,给项目设置了虚拟环境,也在Tool->terminal中配置了Activate virtualenv
,但是在terminal中使用pip
工具时,默认的仍然是本地python安装目录中(base interpreter
)中的pip
。这说明terminal根本没有打开虚拟环境,虽然terminal中显示着venv
的环境名。本人的pycharm版本是2020.1.2
,不知道是不是版本的问题。
首先,我尝试了在terminal进入了Scripts文件夹
,然后进行pip
,然后发现是正常的,pip是虚拟环境中的pip(新建的虚拟环境什么扩展包都没有下载):
使用的python3.9版本,这个版本建虚拟环境时是使用自带的venv
包,而不是virtualenv
。进入虚拟环境需要激活activate.bat
才行,怀疑,是这个脚本没有运行。于是进入Scripts
文件夹,运行activate.bat
,然后再回到venv
文件夹,运行pip成功。说明问题就是:**activate.bat
脚本没有被成功使用,我们需要手动运行一下。**但是如果每次打开terminal,都手动运行脚本,那太费事了。
在设定Terminal时,有个shell path,这里指定了我们的terminal的shell位置。测试了一下,这个是可以运行命令的,如:
"cmd" /k "E:\Coding\python\图像处理\venv\Scripts\activate.bat"
如果使用这个命令,会使得所有project都会打开这个虚拟环境,所以最好是使用相对路径:
"cmd" /k ".\venv\Scripts\activate.bat"