最近在使用VScode写python的时候,使用了anaconda对python的环境进行管理。
但是在写一些复杂的程序需要调用一些pip包的时候,总是提示 No module named 'xxx'
例如 open3d ,plyfile包等,
[Running] python -u "d:\cloudpoint\lesson1\voxel_filter.py"
Traceback (most recent call last):
File "d:\cloudpoint\lesson1\voxel_filter.py", line 3, in <module>
import open3d as o3d
ModuleNotFoundError: No module named 'open3d'
[Done] exited with code=1 in 0.563 seconds
总会出现这样的提示。
解决方法:
- 检查是否进行了安装。通过anaconda prompt 进行当前的环境,然后调用pip list检查是否成功的安装了需要用的包。
- 满足1后,还是进行这样的提示,考虑如下方法。在每个文件的最开头加入如下代码。具体的路径是 虚拟环境\\LIB\\site-packages 。一般在你的anaconda安装路径中的envs中。
import sys
sys.path.append('F:\\Anaconda\\anzhuang\\envs\\pointcloud\\Lib\\site-packages')
本人来也是找了好几天,最终参考https://blog.csdn.net/six_9/article/details/109899812 实验得到的。网上大部分都不靠谱(可能我还没搞懂),修改launch文件等。
这个问题的弊端就是每个前面文件都要加,比较麻烦,目前还没找到一劳永逸的方法。有知道一劳永逸方法的大佬,欢迎一起交流实验。