手记

安装Anaconda后,python出现import Error

背景:

  1. Win10+VSCode下安装了Python3.6.4和一些package,有的package在site-package路径下。

  2. 在已经安装了Python3.6.4之后,又安装了Anaconda,安装设置都是默认的。

Error出现:

这时再打开VS Code,出现很多同类型的Error: Unable to import '<packageName>'。ModuleNotFoundError: No module named 'pyautogui'

其实无论任何packageName都同理。

(以下是按照我个人安装路径陈述)经过研究发现,Anaconda安装完成之后,默认会在C:\ProgramData\Anaconda3下自带安装一个Python3.6.4版本。而这个新安装的Python路径C:\ProgramData\Anaconda3\Lib\site-packages中和原本安装的C:\Python3\Lib\site-packages中的package不一样。而且Anaconda安装好之后可以关联VSCode(从AnacondaNavigator中Lanch),所以此时VSCode默认运行的是C:\ProgramData\Anaconda3下的Python。

解决方案:

  1. 非推荐但最简单的方法:VSCode中File->Preferences->注释代码"python.pythonPath": "C:\ProgramData\Anaconda3"。如下图,再重新打开VSCode即可。

    这种方法有个不好的地方就是既然安装了Anconda,就是希望用Anaconda管理自己的package,所以,这样注释之后,Anaconda就不起作用了。

  2. 推荐方法:把最先安装的Python卸载 (除非想用Anaconda执行不同版本的Python),然后添加如下 环境变量-系统变量:

C:\ProgramData\Anaconda3\

C:\ProgramData\Anaconda3\Scripts\

C:\ProgramData\Anaconda3\Library\bin\

C:\ProgramData\Anaconda3\Library\mingw-w64\bin\

C:\ProgramData\Anaconda3\Library\usr\bin\

(确保环境变量-系统变量中没有 C:\Python3\ 和 C:\Python3\Scripts\ )

然后打开cmd,python, 执行 pip install pyautogui 回车等待完成即可。

综上也可以联想到Anaconda正确的安装步骤(安装最后一步两个选项都check),

就算不卸载原Python也可以,这时直接到C:\ProgramData\Anaconda3\Scripts\路径中pip.exe重命名为condapip.exe和pip-script.py重命名为condapip-script.py。这样在cmd中执行
pip install pyautogui //对原安装的Python环境安装pyautogui包。
condapip install pyautogui //在Anaconda管理的Python环境下安装pyautogui包。
在VSCode中可根据File->Perferences->Settings用"python.pythonPath": "Python安装路径" 来控制从哪个Python环境执行。或者点击VSCode左下角的"Python 3.6 (32-bit)"选择需要执行的Python版本。

写这篇文章希望对Python和Anaconda初学者有所帮助,少走弯路。知乎有同步。

关于Anaconda和Python的知识还在摸索中,如有误导,欢迎各位大神留言更正,非常感谢!

2人推荐
随时随地看视频
慕课网APP

热门评论

今天刚遇到了这个问题,原来是这样啊,多谢了

查看全部评论