iT邦幫忙

2021 iThome 鐵人賽

DAY 8
1
自我挑戰組

Python 30天自我挑戰系列 第 8

Day08 - Python虛擬環境

在前面幾天的練習中,我們都直接在本機安裝套件,但實際工作上做系統維運時,因各系統開發年份、技術需求等因素,每個系統運作環境需求不可能完全相同,為了更有彈性的管理我們的開發環境,後面我們將使用虛擬環境進行開發。

虛擬環境

Python虛擬環境常見的有兩種:

  • Anaconda
  • virtualenv

其中Anaconda作為Python的一個發行版本,安裝和使用上都很簡單,並預先提供資料科學相關的套件,十分推薦給資料科學家使用。
virtualenv則是一個輕量級第三方虛擬環境管理工具。
因為過去我已經有使用過Anaconda的經驗,這次就改為virtualenv來體會一下其中差異。

安裝virtualenv

使用系統管理員身份開啟「命令提示字元」,輸入以下指令:

pip install virtualenvwrapper-win

https://ithelp.ithome.com.tw/upload/images/20210920/20141886qGcOBO5FSc.png

使用「pip list」,確認安裝的套件:
https://ithelp.ithome.com.tw/upload/images/20210920/20141886y9U4mo1AFJ.png

可以看到除了 virtualenvwrapper-win,virtualenv也自動被一併安裝了。

未來如需移除此套件,需要將兩個套件一併移除乾淨:

pip uninstall virtualenvwrapper-win
pip uninstall virtualenv

設定環境變數

在進行步驟3. 建立虛擬環境與相關操作時,出現錯誤訊息「'mkvirtualenv' 不是內部或外部命令、可執行的程式或批次檔。」。

這個問題主要原因在於我們雖然於步驟1透過pip下載了virtualenv,其中配套的批次檔路徑不在系統環境變數中,在「命令提示字元」無法找到。

要修正此問題,就需要在系統環境變數的「PATH」中新增批次檔所在路徑,方法如下:

  1. 於搜尋視窗輸入「環境變數」,選擇「編輯系統環境變數」。
    https://ithelp.ithome.com.tw/upload/images/20210920/2014188602VTxs0mi2.png

  2. 於進階→環境變數→系統變數,編輯「PATH」,新增批次檔所在路徑。
    https://ithelp.ithome.com.tw/upload/images/20210920/20141886Dnm9OISGmN.png

https://ithelp.ithome.com.tw/upload/images/20210920/20141886vhV4uyO6ub.png

補充:在前一節安裝套件時,可看到套件安裝在路徑「...\python39\site-packages」,而批次檔路徑則為「...\python39\Scripts」。具體路徑視個人環境可能有所不同。

  1. 如果希望虛擬環境產生在自己想要的路徑下,可以新增WORKON_HOME變數:
    https://ithelp.ithome.com.tw/upload/images/20210920/20141886wx5ww7UST8.png

建立虛擬環境與相關操作

virtualenv中常用指令:

  • mkvirtualenv 環境名稱:建立虛擬環境
    https://ithelp.ithome.com.tw/upload/images/20210920/20141886HcbrTuIgdL.png

  • deactive:退出虛擬環境

  • workon:列出所有可用的虛擬環境

  • workon 環境名稱:啟動指定的虛擬環境

  • rmvirtualenv 環境名稱:刪除指定的虛擬環境


上一篇
Day07 - Python基本語法 Part 4,模組、檔案處理與多執行緒
下一篇
Day09 - 網站開發從Django開始
系列文
Python 30天自我挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
lin103084
iT邦新手 5 級 ‧ 2022-12-22 02:34:01

您好,冒昧請問一下,目前遇到狀況如下:
A電腦建立虛擬環境,並安裝Django,後續將環境zip壓縮後,移轉到B電腦使用,
遇到問題是,當我要執行python manager.py runserver時,
CMD路徑顯示 python.exe 為A電腦的環境變數,請求大大解答,要如何更改,或者有更好的設定方式呢,謝謝您!

我要留言

立即登入留言