pipenv -- python 搭建虛擬環境


由於py2 和 py3 上對語法的不兼容,對於使用者而言,如果同時安裝了 2個版本,那么就會導致環境的混淆,並且當我們在同一台開發機進行開發不同項目時,也許對相同的模塊有不同版本的需求,那么此時就需要我們進行運行環境的隔離

之前我們使用環境隔離基本用的都是virtualenv,但是當我們需要導出requests.txt 時,如果模塊有改動,那么就需要重新修改,實在是不智能,如能夠及時的維護requests.txt呢,那么pipenv 就體現了十足的功能

一、安裝

pip install pipenv

 

二、創建虛擬環境(前提是你的服務器此時已經安裝好對應的Python版本)

# 創建python3環境
pipenv --three
# 創建python2環境 pipenv --two 

  之后會看到對應的輸出(以py3示例)

[root@spider]# pipenv --three
Creating a virtualenv for this project…
Pipfile: ./spider/Pipfile
Using /usr/bin/python3 (3.6.5) to create virtualenv…
⠸ Creating virtual environment...Already using interpreter /usr/bin/python3
Using base prefix '/data/ops/app/python3'
New python executable in /root/.local/share/virtualenvs/spider-/bin/python3
Also creating executable in /root/.local/share/virtualenvs/spider-/bin/python
Installing setuptools, pip, wheel...
done.
✔ Successfully created virtual environment! 
Virtualenv location: /root/.local/share/virtualenvs/spider-
Creating a Pipfile for this project…

  此時證明你已經創建成功

 

三、進入虛擬環境

pipenv shell

  如下輸出,看到括號內的環境名字代表已經創建並成功進入

[root@spider]# pipenv shell
Launching subshell in virtual environment…
 . /root/.local/share/virtualenvs/spider-/bin/activate
[root@spider]#  . /root/.local/share/virtualenvs/spider-/bin/activate
(spider) [root@spider]# 

  此時目錄下會多Pipfile文件,查看下

(spider) [root@spider]# cat Pipfile 
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]

[requires]
python_version = "3.6"

 

四、安裝相關模塊並加入到Pipfile

  隨着項目的開發當我們新安裝各種包時,pipenv 會自動幫我們生成Pipfile 和 Pipfile.lock文件

  以安裝lxml示例

(spider) [root@ spider]# pipenv install lxml
Installing lxml…
✔ Installation Succeeded 
Pipfile.lock (e067e5) out of date, updating to (ca72e7)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
✔ Success! 
Updated Pipfile.lock (e067e5)!
Installing dependencies from Pipfile.lock (e067e5)…
     ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 2/2 —

 此時cat Pipfile 會發現新安裝的lxml已經自動加入到了Pipfile文件中

(spider) [root@spider]# cat Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
redis = "*"
lxml = "*"

[requires]
python_version = "3.6"

  當我們需要移植環境,下載所有依賴包時,只需要執行pipenv install 就可以自動下載所有Pipfile中的包(在Pipfile 和 Pipfile.lock目錄下)

pipenv install

 

五、卸載全部包並從Pipfile中移除

pipenv uninstall --all 

 

六、退出環境

exit

 

溫馨提示

  如果在當前環境中的子目錄想在重新創建一個虛擬環境的話,是不能直接按照上面操作成功的,因為在pipenv 中是默認找到父及目錄的Pipfile 進行加載環境,如果非要重新創建新的,那么就退出父及,重新創建吧

good bye


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM