標籤:
本文和大家分享的主要是python 中Virtualenv 和 pip的使用相關內容,一起來看看吧,希望對大家 學習python有所協助。 0X00 安裝環境我們在Python 開發和學習過程中需要用到各種庫,然後在各個不同的項目和作品裡可能用的版本還不一樣,正因為有這種問題的存在才催生了 virtualenv 的誕生。virtualenv 可以在電腦上建立一個虛擬環境,可以針對每一個項目建立一個虛擬環境,這樣就不用擔心各個不同的項目用不同版本的庫的時候出現的衝突了。 下面的內容只適用於Linux/OSX,未經Windows環境測試要使用這個功能還是需要安裝,安裝virtualenv 肯定就得直接用 pip 安裝了, pip install virtualenv 就可以輕鬆裝上了。裝好之後我們就可以來測試一波了。 0X01 初始化一個空的工作環境首先在一個空的環境中執行 virtualenv --no-site-packages test_env ,就是在目前的目錄建立一個名為test_env 的虛擬環境。這裡 --no-site-packages 參數是指不從全域的Python 中攜帶任何第三方庫。就比如說你在全域 Python 中安裝了 xxx 庫,在不用這個參數來建立虛擬環境時,虛擬環境中也會帶著這個庫;但是加上了這個參數,虛擬環境中就是一個純淨的 Python ,沒有這些庫。root in ~ λ virtualenv -- no-site-packages test_envNew python executable in /root/test_env/bin/ pythonPlease make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.Installing setuptools, pip, wheel...done.然後可以通過 source test_env/bin/activate 可以進入(啟用)到這個虛擬環境裡去。進入到虛擬環境中之後,通常情況下你的命令提示字元最前面會出現一個括弧,括弧裡面寫著你虛擬環境的名字。這裡說是虛擬環境,其實一切都是真實的。只是說你在啟用了這個環境,在這個環境下用pip 安裝的庫都放在 test_env 中。也可以通過 deactivate 來退出這個環境。 0X02 大量匯出和安裝庫比如我們開發了一個項目,裡面用到了pymongo/requests/flask/pymysql 等等等等十幾二十個庫,還要指定特定的版本,那麼當把一個項目從機器 A 遷移到機器 B 的時候就會很麻煩。需要手動記錄每個庫和版本,還要逐個去安裝,非常麻煩。所以針對這個問題 pip 已經有了非常完善的解決方案。(test_env) root in ~ λ pip freeze > requirements.txt # 匯出已安裝的庫這個命令可以匯出當前環境中安裝好的所有第三方庫,並且是以一個標準的格式匯出的。所以一般一個標準的python 項目的根目錄都會有這個名為 requirements.txt 的依賴檔案。既然可以一次性匯出,那麼必然可以一次性安裝嘍。通過這種方式就可以將上面匯出的特定版本的所有庫一次性全裝上。配合virtualenv 可以快速的部署一個 Python 項目,並且不會搞亂其他的 Python 項目環境。(test_env_1) root in ~ λ pip install -r requirements.txt來源:Shawn’s Blog
Python中Virtualenv和pip如何使用?