Python代碼又報錯了?看下這個方法
剛學(xué)習(xí)python的同學(xué)經(jīng)常會遇到一個問題: 已經(jīng)安裝了特定的包或者第三庫,但是pycharm總是提示沒有找到。

比如我已經(jīng)有ddt了,可運行腳本的時候卻告訴我沒有這個模塊:

出現(xiàn)這種問題,你需要去檢查一下你實際使用的python環(huán)境和你正在配置的環(huán)境是否是同一個,因為python里經(jīng)常會遇到叫虛擬環(huán)境的玩意,可能你在不經(jīng)意的瞬間已經(jīng)創(chuàng)建了一個虛擬環(huán)境。
一、虛擬環(huán)境的好處
虛擬環(huán)境是一個將不同項目所需求的依賴分別放在獨立的地方的一個工具。
你可以大致理解成他是我們安裝的python.exe 的一份拷貝,這份拷貝獨立維護(hù)了每一個項目所需要的工具和庫。
比如我們有2個項目yuz1和yuz2。
yuz1需要安裝ddt的1.2.1版本。
yuz2是一個很老的項目,他需要ddt的1.1.2版本,不能升級到1.2.1。
所以在python當(dāng)中,我們需要維護(hù)2套依賴庫的環(huán)境,當(dāng)我要運行yuz1, 就用環(huán)境1, 當(dāng)我要運行yuz2,就是用環(huán)境2。
二、新建項目創(chuàng)建虛擬環(huán)境
從Python3.5以后,python可以非常方便的創(chuàng)建虛擬環(huán)境。
直接命令行創(chuàng)建:

在當(dāng)前工作目錄中找到venv_name文件夾。
在venv_name文件夾中,您將找到一個Scripts 文件夾,在這里你可以激活你的虛擬環(huán)境。

1、激活虛擬環(huán)境
在當(dāng)前目錄下,使用cmd運行activate:

激活后會看看到路徑前面多了一個括號:

2、退出虛擬環(huán)境:

退出環(huán)境以后,括號會消失,我們又回到了系統(tǒng)的python環(huán)境當(dāng)中。
3、虛擬環(huán)境當(dāng)中的python.exe
虛擬環(huán)境當(dāng)中的python.exe和系統(tǒng)的python.exe沒有什么區(qū)別,如果想要通過虛擬環(huán)境去運行對應(yīng)的python文件,加上絕對路徑就可以直接運行,不需要 activate激活。
這個在項目部署的時候非常有用,直接添加到.sh文件當(dāng)中:

三、Pycharm配置虛擬環(huán)境
虛擬環(huán)境的創(chuàng)建和關(guān)聯(lián)可以通過命令行實現(xiàn),但是pycharm提供了方便的圖形化操作的方式,所以你不會命令行也沒有關(guān)系。
創(chuàng)建項目的時候,提示new environment, 就可以創(chuàng)建虛擬環(huán)境。
existing interpreter里是系統(tǒng)里已經(jīng)創(chuàng)建了的環(huán)境,他包含系統(tǒng)環(huán)境和其他已創(chuàng)建的虛擬環(huán)境。
如果想單獨建立,就選擇new environment; 如果想使用原來已經(jīng)創(chuàng)建好的,就點擊選擇就可以了。
比如我們可以通過 ... 符號選擇上面建立好的venv_name這個虛擬環(huán)境和項目關(guān)聯(lián)。

四、已有項目關(guān)聯(lián)虛擬環(huán)境
在 PyCharm -> Preferences 進(jìn)入 project setting 設(shè)置
查看所有的環(huán)境:

點擊+號,就可以進(jìn)入環(huán)境選擇;
如果沒有出現(xiàn)在列表中,點擊 ... 進(jìn)入路徑選擇窗口進(jìn)入對應(yīng)的目錄下選擇:

虛擬環(huán)境在 python 學(xué)習(xí)過程中不是必須的,但是如果你的項目很多,你一定會發(fā)現(xiàn)你的安裝包文件夾已經(jīng)亂成一鍋粥了。
趕緊用虛擬環(huán)境去整理一下吧。