安裝Anaconda後,Unable to import pyautogui #Python#VSCode
背景:
1. 初學Python,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:ProgramDataAnaconda3下自帶安裝一個Python3.6.4版本。而這個新安裝的Python路徑C:ProgramDataAnaconda3Libsite-packages中和原本安裝的C:Python3Libsite-packages中的package不一樣。而且Anaconda安裝好之後默認關聯VSCode,所以此時VSCode默認運行的是C:ProgramDataAnaconda3下的Python。
解決方案:
1. 非推薦但最簡單的方法:VSCode中File->Preferences->注釋代碼"python.pythonPath": "C:\ProgramData\Anaconda3"。如下圖,再重新打開VSCode即可。
#這種方法有個不好的地方就是既然安裝了Anconda,就是希望用Anaconda管理自己的package,所以,這樣注釋之後,Anaconda就不起作用了。
2. 推薦方法:把最先安裝的Python卸載 (除非想用Anaconda執行不同版本的Python),然後添加3條 環境變數-系統變數:
C:ProgramDataAnaconda3
C:ProgramDataAnaconda3Scripts
C:ProgramDataAnaconda3Libraryin
C:ProgramDataAnaconda3Librarymingw-w64in
C:ProgramDataAnaconda3Libraryusrin
(確保環境變數-系統變數中沒有 C:Python3 和 C:Python3Scripts )
然後打開cmd,python, 執行 pip install pyautogui 回車等待完成即可。
綜上也可以聯想到Anaconda正確的安裝步驟(安裝最後一步兩個選項都check),
就算不卸載原Python也可以,這時直接到C:ProgramDataAnaconda3Scripts路徑中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環境執行。
寫這篇知乎希望對Python和Anaconda初學者有所幫助,少走彎路。
關於Anaconda和Python的知識還在摸索中,如有誤導,歡迎各位大神留言更正,非常感謝!
推薦閱讀:
※PyQGIS開發 -- 地圖控制項交互
※【Python3網路爬蟲開發實戰】 1-開發環境配置
※python 用list of lists表示矩陣的問題?
※黃哥Python 轉載的文章「去年的前45篇Python文章(v.2018)」
※Scrapy連接到各類資料庫(SQLite,Mysql,Mongodb,Redis)