欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 中如何使用 virtualenv 管理虛擬環(huán)境

 更新時間:2021年01月21日 14:30:40   作者:Python編程時光  
這篇文章主要介紹了Python 中使用 virtualenv 管理虛擬環(huán)境的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

1. 什么是虛擬環(huán)境?

虛擬環(huán)境的意義,就如同 虛擬機 一樣,它可以實現(xiàn)不同環(huán)境中Python依賴包相互獨立,互不干擾。

舉個例子吧。

假設我們的電腦里有兩個項目,他們都用到同一個第三方包,本來一切都順利。但是由于某種原因,項目B由于某些原因要使用這個第三方包的一些新特性(新版本才有),而如果就這樣貿(mào)然升級了,對項目A的影響我們無法評估,這個時候我們就特別需要有一種解決方案可以讓項目A和B,處于兩個不同的Python環(huán)境中?;ゲ挥绊?。

為了方便大家對虛擬環(huán)境有個認識,我列舉了下其優(yōu)點:

  • 使不同應用開發(fā)環(huán)境獨立
  • 環(huán)境升級不影響其他應用,也不會影響全局的python環(huán)境
  • 可以防止系統(tǒng)中出現(xiàn)包管理混亂和版本的沖突

市場上管理 Python 版本和環(huán)境的工具有很多,這里列舉幾個:

  • p:非常簡單的交互式 python 版本管理工具。
  • pyenv:簡單的 Python 版本管理工具。
  • Vex:可以在虛擬環(huán)境中執(zhí)行命令。
  • virtualenv:創(chuàng)建獨立 Python 環(huán)境的工具。
  • virtualenvwrapper:virtualenv 的一組擴展。

工具很多,但個人認為最好用的,當屬 virtualenvwrapper,推薦大家也使用。

2. virtualenv

由于 virtualenvwrapper 是 virtualenv 的一組擴展,所以如果要使用 virtualenvwrapper,就必須先安裝 virtualenv。

安裝基本使用*

由于virtualenv創(chuàng)建虛擬環(huán)境是在當前環(huán)境下創(chuàng)建的。所以我們要準備一個專門存放虛擬環(huán)境的目錄。(以下操作在Linux在完成,windows相對簡單,請自行完成,有不明白的請微信與我聯(lián)系。)

創(chuàng)建

# 準備目錄并進入
$ mkdir -p /home/wangbm/Envs
$ cd !$

# 創(chuàng)建虛擬環(huán)境(按默認的Python版本)
# 執(zhí)行完,當前目錄下會有一個my_env01的目錄
$ virtualenv my_env01

# 你也可以指定版本
$ virtualenv -p /usr/bin/python2.7 my_env01
$ virtualenv -p /usr/bin/python3.6 my_env02

# 你肯定覺得每次都要指定版本,相當麻煩吧?
# 在Linux下,你可以把這個選項寫進入環(huán)境變量中
$ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7" >> ~/.bashrc

進入/退出

$ cd /home/wangbm/Envs

# 進入
$ source my_env01/bin/activate

# 退出
$ deactivate

刪除

刪除虛擬環(huán)境,只需刪除對應的文件夾就行了。并不會影響全局的Python和其他環(huán)境。

$ cd /home/wangbm/Envs
$ rm -rf my_env01

注意:
創(chuàng)建的虛擬環(huán)境,不會包含原生全局環(huán)境的第三方包,其會保證新建虛擬環(huán)境的干凈。

如果你需要和全局環(huán)境使用相同的第三方包??梢允褂萌缦路椒ǎ?/p>

# 導出依賴包
$ pip freeze > requirements.txt

# 安裝依賴包
$ pip install -r requirements.txt 

3. virtualenvwrapper

virtualenv 雖然已經(jīng)相當好用了,可是功能還是不夠完善。

你可能也發(fā)現(xiàn)了,要進入虛擬環(huán)境,必須得牢記之前設置的虛擬環(huán)境目錄,如果你每次按規(guī)矩來,都將環(huán)境安裝在固定目錄下也沒啥事。但是很多情況下,人是會懶惰的,到時可能會有很多個虛擬環(huán)境散落在系統(tǒng)各處,你將有可能忘記它們的名字或者位置。

還有一點,virtualenv 切換環(huán)境需要兩步,退出 -> 進入。不夠簡便。

為了解決這兩個問題,virtualenvwrapper就誕生了。

安裝

# 安裝 - Linux
pip install virtualenvwrapper

# 安裝 - Windows
pip install virtualenvwrapper-win

配置

先find一下virtualenvwrapper.sh文件的位置

find / -name virtualenvwrapper.sh
# /usr/bin/virtualenvwrapper.sh

若是 windows 則使用everything 查找 virtualenvwrapper.bat 腳本

D:\Program Files (x86)\Python38-32\Scripts\virtualenvwrapper.bat

在~/.bashrc 文件新增配置

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
export VIRTUALENVWRAPPER_SCRIPT=/usr/bin/virtualenvwrapper.sh
source /usr/bin/virtualenvwrapper.sh

若是 windows 則新增環(huán)境變量:WORKON_HOME

基本語法:

mkvirtualenv [-a project_path] [-i package] [-r requirements_file] [virtualenv options] ENVNAME

常用方法

# 創(chuàng)建
$ mkvirtualenv my_env01

# 進入
$ workon my_env01

# 退出
$ deactivate

# 列出所有的虛擬環(huán)境,兩種方法
$ workon
$ lsvirtualenv

# 在虛擬環(huán)境內(nèi)直接切換到其他環(huán)境
$ workon my_env02

# 刪除虛擬環(huán)境
$ rmvirtualenv my_env01

其他命令

# 列出幫助文檔
$ virtualenvwrapper

# 拷貝虛擬環(huán)境
$ cpvirtualenv ENVNAME [TARGETENVNAME]

# 在所有的虛擬環(huán)境上執(zhí)行命令
$ allvirtualenv pip install -U pip

# 刪除當前環(huán)境的所有第三方包
$ wipeenv

# 進入到當前虛擬環(huán)境的目錄
$ cdsitepackages

# 進入到當前虛擬環(huán)境的site-packages目錄
$ cdvirtualenv

# 顯示 site-packages 目錄中的內(nèi)容
$ lssitepackages

更多內(nèi)容,可查看 官方文檔
https://virtualenvwrapper.rea...

4. 實戰(zhàn)演示

以上內(nèi)容,是一份使用指南。接下來,一起來看看,如何在項目中使用虛擬環(huán)境。

如何使用在我們的開發(fā)中使用我們的虛擬環(huán)境呢

通常我們使用的場景有如下幾種

  • 交互式中
  • PyCharm中
  • 工程中

接下來,我將一一展示。

4.1 交互式中

先對比下,全局環(huán)境和虛擬環(huán)境的區(qū)別,全局環(huán)境中有requests包,而虛擬環(huán)境中并未安裝。
當我們敲入 workon my_env01,前面有my_env01的標識,說明我們已經(jīng)處在虛擬環(huán)境中。后面所有的操作,都將在虛擬環(huán)境下執(zhí)行。

4.2 工程項目中

我們的工程項目,都有一個入口文件,仔細觀察,其首行可以指定Python解釋器。

倘若我們要在虛擬環(huán)境中運行這個項目,只要更改這個文件頭部即可。

現(xiàn)在我還是以,import requests 為例,來說明,是否是在虛擬環(huán)境下運行的,如果是,則和上面一樣,會報錯。

文件內(nèi)容:

#!/root/.virtualenvs/my_env01/bin/python

import requests
print "ok"

運行前,注意添加執(zhí)行權限。

$ chmod +x ming.py

好了。來執(zhí)行一下

$ ./ming.py

發(fā)現(xiàn)和預期一樣,真的報錯了。說明我們指定的虛擬環(huán)境有效果。

4.3 PyCharm中

點擊 File - Settings - Project - Interpreter

點擊小齒輪。如圖點擊添加,按提示添加一個虛擬環(huán)境。然后點 OK 就可以使用這個虛擬環(huán)境,之后的項目都會在這個虛擬環(huán)境下運行。

以上就是Python 中使用 virtualenv 管理虛擬環(huán)境的方法的詳細內(nèi)容,更多關于python 用virtualenv 管理虛擬環(huán)境的資料請關注腳本之家其它相關文章!

相關文章

  • Python中replace方法實例分析

    Python中replace方法實例分析

    這篇文章主要介紹了Python中replace方法,有一定的實用價值,需要的朋友可以參考下
    2014-08-08
  • Python使用騰訊云API實現(xiàn)短信驗證碼功能

    Python使用騰訊云API實現(xiàn)短信驗證碼功能

    使用Python與騰訊云接口對接,實現(xiàn)短信驗證碼功能變得非常簡單,只需要幾行代碼就能夠輕松實現(xiàn)短信的發(fā)送,無須關心復雜的短信協(xié)議和底層實現(xiàn),讀者可以根據(jù)自己的實際需求,靈活使用騰訊云短信SDK提供的API來實現(xiàn)更豐富的短信功能
    2024-01-01
  • windows系統(tǒng)下Python環(huán)境搭建教程

    windows系統(tǒng)下Python環(huán)境搭建教程

    這篇文章主要為大家詳細介紹了windows系統(tǒng)下Python環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Python求兩個list的差集、交集與并集的方法

    Python求兩個list的差集、交集與并集的方法

    這篇文章主要介紹了Python求兩個list的差集、交集與并集的方法,是Python集合數(shù)組操作中常用的技巧,需要的朋友可以參考下
    2014-11-11
  • Yolov5更換BiFPN的詳細步驟總結

    Yolov5更換BiFPN的詳細步驟總結

    將YOLOv5中的PANet層修改為EfficientDet-BiFPN,實現(xiàn)自上而下與自下而上的深淺層特征雙向融合,明顯提升YOLOv5算法檢測精度,下面這篇文章主要給大家介紹了關于Yolov5更換BiFPN的詳細步驟,需要的朋友可以參考下
    2022-12-12
  • python計算auc的方法

    python計算auc的方法

    在本篇文章里小編給大家整理的是關于python計算auc的方法及相關內(nèi)容,有興趣的朋友們可以學習下。
    2020-09-09
  • Pytorch訓練模型得到輸出后計算F1-Score 和AUC的操作

    Pytorch訓練模型得到輸出后計算F1-Score 和AUC的操作

    這篇文章主要介紹了Pytorch訓練模型得到輸出后計算F1-Score 和AUC的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python?selenium保存圖片最好的兩種方法

    python?selenium保存圖片最好的兩種方法

    大家好,本篇文章主要講的是python?selenium保存圖片最好的兩種方法,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python二維列表的創(chuàng)建、轉換以及訪問詳解

    Python二維列表的創(chuàng)建、轉換以及訪問詳解

    列表中的元素還可以是另一個列表,這種列表稱為多為列表,只有一層嵌套的多維列表稱為二維列表,下面這篇文章主要給大家介紹了關于Python二維列表的創(chuàng)建、轉換及訪問的相關資料,需要的朋友可以參考下
    2022-04-04
  • pandas分組聚合詳解

    pandas分組聚合詳解

    這篇文章主要介紹了pandas分組聚合詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04

最新評論