【Python】使用虛擬環境pipenv

更新於 發佈於 閱讀時間約 3 分鐘

為什麼要使用pipenv

初玩python時常用pip安裝各式各樣的套件下來,而這些套件在本機中是以全域的方式安裝。假設今天需要接手別人的專案,所用的套件版本不相容,對於這些仰賴的套件(依賴dependencies)進行管理跟切分就成了一個課題。

raw-image

安裝pipenv

# 打開terminal 輸入指令
pip install pipenv // 安裝pipenv

安裝完成以後,即可使用pipenv指令。

首先建立一個專案資料夾並更換終端機路徑到資料夾,執行初始的動作

mkdir env_project       // 建立指定檔名的資料夾(自行命名)

cd env_project       // 移動到專案資料夾

pipenv install requests  // 安裝request套件(自行安裝其他套件)
raw-image

如果一開始專案沒有準備Pipfile跟Pipfile.lock,在執行pipenv install時會自動產生檔案,裡面記錄了該專案所用到的套件、使用的版本等各種依賴資訊。因此日後就算版本更新,或是提供出去的使用者版本不相容、缺少套件,都可以透過這兩個檔案內的資訊,重新下載安裝需要的依賴。

raw-image

如何使用

開始使用虛擬環境,作業上會需要下列指令

pipenv shell    // 進入虛擬環境

# ...進行作業
python app.py   // 執行撰寫完成的應用程式
# ...完成作業

exit        // 離開虛擬環境

如果有其他語言的使用經驗,pipenv的功用類似Nodejs使用npm init或是Java 使用maven跟pom.xml進行套件管理的概念。

安裝時遇到的小坑

ImportError: cannot import name 'InstallCommand'

網路上大多教學是使用Mac或Linux,而我的電腦作業系統是Windows,在pipenv install時正好遇到此問題,只好把問題原封不動貼上搜索看看。

簡單來說我做的處理

  1. 把舊版的pip升級
  2. virtualenv、pipenv重新安裝
  3. 對照了一下,發現後來pipenv版本似乎會是比較早一點的版本,結果正常運作


留言
avatar-img
留言分享你的想法!
avatar-img
Err500
12會員
77內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
Err500的其他內容
2021/10/10
翻閱了去年面試時候的題目,想想現在自己會用什麼方式重新完成這個題目,也正好最近在看python的typing模組及其他使用,使用物件導向的方式改寫了程式碼。
Thumbnail
2021/10/10
翻閱了去年面試時候的題目,想想現在自己會用什麼方式重新完成這個題目,也正好最近在看python的typing模組及其他使用,使用物件導向的方式改寫了程式碼。
Thumbnail
2020/06/07
Youtube上逛著逛著看到techwithtim的線上教學,這是一個pygame的模組練習,只\是我想了解深一點的是物件導向的寫法應用。影片大約兩小時,實際邊動手coding,一邊看著影片的講解,結果花在這上面的時間遠遠超過我的預期。
Thumbnail
2020/06/07
Youtube上逛著逛著看到techwithtim的線上教學,這是一個pygame的模組練習,只\是我想了解深一點的是物件導向的寫法應用。影片大約兩小時,實際邊動手coding,一邊看著影片的講解,結果花在這上面的時間遠遠超過我的預期。
Thumbnail
2020/05/20
常常會在其他教學影片中看到if __name__ == "__main__"  的寫法,為什麼要這樣做呢?
Thumbnail
2020/05/20
常常會在其他教學影片中看到if __name__ == "__main__"  的寫法,為什麼要這樣做呢?
Thumbnail
看更多
你可能也想看
Thumbnail
教大家如何使用 pip 備份 python 虛擬環境,並移植到其他電腦之中,詳細圖文解說
Thumbnail
教大家如何使用 pip 備份 python 虛擬環境,並移植到其他電腦之中,詳細圖文解說
Thumbnail
首先安裝 python,依照 官網 的指示,下載正確的版本並執行就可,重點在以下。 虛擬環境的管理平台許多人使用 anaconda,許多教 python 的課程第一堂就是不管三七二十一先安裝再說,但我用了一陣子之後覺得它實在太笨重了,早有掙脫的想法,欣見原生的 python 已經具有虛擬環境管理模
Thumbnail
首先安裝 python,依照 官網 的指示,下載正確的版本並執行就可,重點在以下。 虛擬環境的管理平台許多人使用 anaconda,許多教 python 的課程第一堂就是不管三七二十一先安裝再說,但我用了一陣子之後覺得它實在太笨重了,早有掙脫的想法,欣見原生的 python 已經具有虛擬環境管理模
Thumbnail
在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件 在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件。以下是基本的安裝步驟: 確認p
Thumbnail
在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件 在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件。以下是基本的安裝步驟: 確認p
Thumbnail
pip 的安裝、使用,多種功能一一展示,完整教學
Thumbnail
pip 的安裝、使用,多種功能一一展示,完整教學
Thumbnail
pip下載與安裝的過程太久嗎? 網路斷線怎麼辦? 內網需求怎麼達成?…, 相信這幾個心中的疑問在我們開發Python的過程中都會遇到, 尤其是一個完整的套件需要依賴上千百種的額外套件時, 這個過程真的是非常久啊! 難道我們不能加速嗎? 看到這篇的您非常的幸運, 我們會實際教您如何架設本地端的Pyth
Thumbnail
pip下載與安裝的過程太久嗎? 網路斷線怎麼辦? 內網需求怎麼達成?…, 相信這幾個心中的疑問在我們開發Python的過程中都會遇到, 尤其是一個完整的套件需要依賴上千百種的額外套件時, 這個過程真的是非常久啊! 難道我們不能加速嗎? 看到這篇的您非常的幸運, 我們會實際教您如何架設本地端的Pyth
Thumbnail
Hi, 大家好。我是茶桁。 在我们之前的课程中,讲解了数据,函数,类,模块以及包。这些基本上已经构成了Python的全部了。 那么,我们在学习Python的包之后,有没有思考过,既然Python有内置模块,我们也可以自己写一些模块来使用,那一定有很多第三方写过相应的模块来供我们使用。那么,这
Thumbnail
Hi, 大家好。我是茶桁。 在我们之前的课程中,讲解了数据,函数,类,模块以及包。这些基本上已经构成了Python的全部了。 那么,我们在学习Python的包之后,有没有思考过,既然Python有内置模块,我们也可以自己写一些模块来使用,那一定有很多第三方写过相应的模块来供我们使用。那么,这
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News