標籤:

安裝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)

TAG:Anaconda | Python |