JetBrains Client中,虚拟环境中运行Python代码报错ModuleNotFoundError: No module named '****'的解决方案
报错内容
我利用JetBrains Client远程打开服务器项目,导入opencv
、pandas
等库,引发了No module named "pandas"
的报错。探索了各种可能的报错原因,最终通过添加Python解释器解决。
尝试检索解决方式
1. 卸载并重新安装所需库
pip uninstall opencv-python
pip install opencv-python
2. 修改.bashrc文件
在/home/usrname
文件夹下面,找到控制bash初始配置的文件.bashrc。在文件最后,添加了如下代码:
export PATH=/data2/wuke/miniconda/envs/Net/bin:$PATH
但是,该项修改会导致Terminal启动时的报错,遂恢复.bashrc文件。
3. 在JetBrains Client中添加环境变量
根据某位博主解决IDE的类似报错,我找到了JetBrains Client->Run->Edit Configurations
之后,添加新的环境变量,即虚拟环境中的库所在路径:
PYTHONPATH=/yourfile/path/edgeai/torchvision
结果仍然报错。
我的解决方式:在JetBrain Client中,手动添加Python解释器
仔细观察发现(意外),Run窗口显示执行Py文件的解释器为python 3.8,与虚拟环境中的python版本不同,竟然仍是非虚拟环境的python在执行。
遂决定寻找添加虚拟环境的python到JetBrains Client中的方法。
具体方法如下:
- 在setting中,搜索
Project
,点击Project interpreter
.
- 点击
add inerpreter
中add local interpreter
。
- 点击右边省略号
···
图标,出现服务器的本地目录,通过点击文件夹寻找并选择虚拟环境中的python解释器即可解决问题。(服务器的本地目录!!!!)
这里给出虚拟环境中的python解释器位置作为参考。
/用户名/miniconda/envs/虚拟环境名称/bin/python3.6
之后一切界面都点ok即可运行代码,无报错缺少module。