1 问题描述
在Windows平台上,使用conda管理虚拟环境,conda安装完好,创建了一个虚拟环境auto_test,并且将代码的解释器设置为该环境下的python。此时VSCode的代码编辑器中显示缺少selenium模块。因此安装该模块。
- 在VSCode的终端切换环境并安装selenium
-
conda activate auto_test # 并没有提示错误
-
pip install selenium # 发现安装位置是conda的全局环境位置
-
-
搜索解决问题的方法,各种方法包括
python -m pip install selenium都不可行 - 打开cmd执行相同的操作,发现安装到了正确的位置。
2 原因
原因只有一个,就是环境没有切换成功。只要命令的前面没有显示正确的环境名字,都是环境没有切换成功。放个对比。
PS E:\Desktop\projects\PythonProjects\> # 这是未成功
(auto_test) PS E:\Desktop\projects\PythonProjects\> # 这是成功
为什么没有切换成功呢?IDE终端打开的是PowerShell,而我执行成功时使用的是cmd,这两个并不相同。所以就是PowerShell的问题。
3 解决
打开powerShell 以下命令,然后重启各个Terminal即可
conda init powershell
4 其他
1. 如果想使用某个路径下的包,比如最开始解决这个问题时我想加入conda全局环境的包,可以在代码前添加以下代码:
import sys
print(sys.path) # 打印看一下有哪些查找包的路径
sys.path.append('D:\\anaconda3\\Lib\\site-packages') # 添加上全局的包路径
print(sys.path) # 再打印下看看
reload(sys)
2. PowerShell有错误提示:
无法加载文件 C:\Users\****\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本。
修复该错误的方法:
1. 以管理员身份打开PowerShell
2. 输入get-ExecutionPolicy 结果是Restricted,这表示状态是禁止的
3. 输入set-ExecutionPolicy RemoteSigned
4. 重启PowerShell