Vscode python debug過程中Terminal 終端路徑的設置

昨天用Vscode 調試python程序 ,debug過程中Termianl路徑總是自動跳轉到一個莫名其妙的路徑,如圖:

因爲程序涉及判斷路徑下的文件是否存在,所以路徑不對就很難受,查了很多終於找到原因。

原來這個涉及python的虛擬環境。其實一句話就可以解決 

py -3 -m venv file_path

file_path 就是想使用的路徑,在我的情況下就是 

py -3 -m venv D:/Experiments/day1

現在再用Vscode調試python 就是在D:/Experiments/day1目錄下執行, python的虛擬環境安裝與使用如下。

首先

安裝: pip install virtualenv

        如果安裝不成功也可以下載virtualenv源碼package,通過執行setup.py來安裝virtualenv。同時因爲python2和python3的不同,因此也有了兩種pip和pip3兩種python包安裝工具,而兩種工具安裝的virtualenv也是不相同的,python2安裝的virtualenv虛擬化出來的python運行環境是python2的,python3安裝的virtualenv默認虛擬環境則是python3的。

使用方法
創建環境
virtualenv   [環境名] 

這會在當前目錄下創建一個獨立的Python運行環境,可使用 virtualenv --help 來查看如何使用。

使用環境
新建的Python環境被放到當前目錄下的[環境名] 目錄。有了[環境名] 這個Python環境,可以用source執行:

source [環境名] /bin/activate 

來激活環境,激活後在命令行的前面會出現新環境名稱,表示當前環境是一個名爲[環境名] 的Python環境,接下來可使用pip命令安裝新環境需要的各種包。(pip命令在創建新環境時自帶)

退出虛擬環境
deactivate


此時就回到了正常的環境,現在pip或python均是在系統Python環境下執行。

完全可以針對每個應用創建獨立的Python運行環境,這樣就可以對每個應用的Python環境進行隔離。

virtualenv是如何創建“獨立”的Python運行環境的呢?原理很簡單,就是把系統Python複製一份到virtualenv的環境,用命令source [環境名] /bin/activate進入一個virtualenv環境時,virtualenv會修改相關環境變量,讓命令python和pip均指向當前的virtualenv環境。

如果要刪除虛擬環境,只需退出虛擬環境後,刪除對應的虛擬環境目錄即可。不影響其他環境。

virtualenvwrapper
virtualenvwrapper是基於virtualenv之上的工具擴展管理包,它將所有的虛擬環境統一起來,用於更方便管理虛擬環境,它可以做:

將所有虛擬環境整合在一個目錄下
管理(新增,刪除,複製)虛擬環境
切換虛擬環境
安裝
pip install virtualenvwrapper-win


默認創建的虛擬環境位於C:\Users\username\envs,可以通過環境變量WORKON_HOME來定製。

通過計算機-->屬性-->高級系統設置-->環境變量-->在系統變量中新建“變量名”:WORKON_HOME,變量值:“你自定義的路徑”。

使用方法
所有的命令可使用:virtualenvwrapper --help 進行查看,這裏列出幾個常用的:

創建基本環境:

mkvirtualenv [環境名] 

創建成功之後就會在剛纔的WORKON_HOME所設置的目錄下創建指定的虛擬環境並且自動進入,退出的話也是使用deactivate。再次進入的話,就不用向virtualenv那樣去尋找路徑,直接可以使用命令就可以進入虛擬環境:

workon  [環境名] 

常用的命令還有:

刪除環境:rmvirtualenv  [環境名] 

列出所有環境:workon 或者 lsvirtualenv -b
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章