Python 中 Virtualenv 和 pip 的簡(jiǎn)單用法詳解
本文介紹了Python 中 Virtualenv 和 pip 的簡(jiǎn)單用法詳解,分享給大家,具體如下:
0X00 安裝環(huán)境
我們?cè)?Python 開(kāi)發(fā)和學(xué)習(xí)過(guò)程中需要用到各種庫(kù),然后在各個(gè)不同的項(xiàng)目和作品里可能用的版本還不一樣,正因?yàn)橛羞@種問(wèn)題的存在才催生了virtualenv的誕生。virtualenv 可以在電腦上創(chuàng)建一個(gè)虛擬環(huán)境,可以針對(duì)每一個(gè)項(xiàng)目創(chuàng)建一個(gè)虛擬環(huán)境,這樣就不用擔(dān)心各個(gè)不同的項(xiàng)目用不同版本的庫(kù)的時(shí)候出現(xiàn)的沖突了。 下面的內(nèi)容只適用于 Linux/OSX,未經(jīng) Windows 環(huán)境測(cè)試
要使用這個(gè)功能還是需要安裝,安裝 virtualenv 肯定就得直接用 pip 安裝了,pip install virtualenv就可以輕松裝上了。裝好之后我們就可以來(lái)測(cè)試一波了。
0X01 初始化一個(gè)空的工作環(huán)境
首先在一個(gè)空的環(huán)境中執(zhí)行virtualenv --no-site-packages test_env,就是在當(dāng)前目錄創(chuàng)建一個(gè)名為 test_env 的虛擬環(huán)境。這里--no-site-packages參數(shù)是指不從全局的 Python 中攜帶任何第三方庫(kù)。就比如說(shuō)你在全局 Python 中安裝了 xxx 庫(kù),在不用這個(gè)參數(shù)來(lái)創(chuàng)建虛擬環(huán)境時(shí),虛擬環(huán)境中也會(huì)帶著這個(gè)庫(kù);但是加上了這個(gè)參數(shù),虛擬環(huán)境中就是一個(gè)純凈的 Python,沒(méi)有這些庫(kù)。
root in ~ λ virtualenv --no-site-packages test_env New python executable in /root/test_env/bin/python Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file. Installing setuptools, pip, wheel...done.
然后可以通過(guò)source test_env/bin/activate可以進(jìn)入(激活)到這個(gè)虛擬環(huán)境里去。進(jìn)入到虛擬環(huán)境中之后,通常情況下你的命令提示符最前面會(huì)出現(xiàn)一個(gè)括號(hào),括號(hào)里面寫(xiě)著你虛擬環(huán)境的名字。
這里說(shuō)是虛擬環(huán)境,其實(shí)一切都是真實(shí)的。只是說(shuō)你在激活了這個(gè)環(huán)境,在這個(gè)環(huán)境下用 pip 安裝的庫(kù)都放在 test_env 中。
也可以通過(guò)deactivate來(lái)退出這個(gè)環(huán)境。
0X02 批量導(dǎo)出和安裝庫(kù)
比如我們開(kāi)發(fā)了一個(gè)項(xiàng)目,里面用到了 pymongo/requests/flask/pymysql 等等等等十幾二十個(gè)庫(kù),還要指定特定的版本,那么當(dāng)把一個(gè)項(xiàng)目從機(jī)器 A 遷移到機(jī)器 B 的時(shí)候就會(huì)很麻煩。需要手動(dòng)記錄每個(gè)庫(kù)和版本,還要逐個(gè)去安裝,非常麻煩。所以針對(duì)這個(gè)問(wèn)題 pip 已經(jīng)有了非常完善的解決方案。
(test_env) root in ~ λ pip freeze > requirements.txt # 導(dǎo)出已安裝的庫(kù)
這個(gè)命令可以導(dǎo)出當(dāng)前環(huán)境中安裝好的所有第三方庫(kù),并且是以一個(gè)標(biāo)準(zhǔn)的格式導(dǎo)出的。所以一般一個(gè)標(biāo)準(zhǔn)的 python 項(xiàng)目的根目錄都會(huì)有這個(gè)名為requirements.txt的依賴(lài)文件。
既然可以一次性導(dǎo)出,那么必然可以一次性安裝嘍。通過(guò)這種方式就可以將上面導(dǎo)出的特定版本的所有庫(kù)一次性全裝上。配合 virtualenv 可以快速的部署一個(gè) Python 項(xiàng)目,并且不會(huì)搞亂其他的 Python 項(xiàng)目環(huán)境。
(test_env_1) root in ~ λ pip install -r requirements.txt
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python如何導(dǎo)入依賴(lài)包
- python獲取依賴(lài)包和安裝依賴(lài)包教程
- 將python依賴(lài)包打包成window下可執(zhí)行文件bat方式
- Python依賴(lài)包整體遷移方法詳解
- 查看Python依賴(lài)包及其版本號(hào)信息的方法
- Python一鍵安裝全部依賴(lài)包的方法
- Python模塊與包管理使用pip與virtualenv
- Python之虛擬環(huán)境virtualenv,pipreqs生成項(xiàng)目依賴(lài)第三方包的方法
- CentOS6.9 Python環(huán)境配置(python2.7、pip、virtualenv)
- Python 管理依賴(lài)包工具pip, virtualenv詳解
相關(guān)文章
Numpy數(shù)組的轉(zhuǎn)置和軸交換的實(shí)現(xiàn)
本文主要介紹了Numpy數(shù)組的轉(zhuǎn)置和軸交換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Flask的url_for和request.url如何進(jìn)行URL判斷
這篇文章主要介紹了Flask的url_for和request.url如何進(jìn)行URL判斷問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
在Django的URLconf中進(jìn)行函數(shù)導(dǎo)入的方法
這篇文章主要介紹了在Django的URLconf中進(jìn)行函數(shù)導(dǎo)入的方法,Django是Python的最為著名的開(kāi)發(fā)框架,需要的朋友可以參考下2015-07-07
Python中關(guān)于字符串對(duì)象的一些基礎(chǔ)知識(shí)
這篇文章主要介紹了詳解Python中的字符串對(duì)象,關(guān)于字符串的操作和特性是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-04-04
python爬蟲(chóng)之利用selenium模塊自動(dòng)登錄CSDN
這篇文章主要介紹了python爬蟲(chóng)之利用selenium模塊自動(dòng)登錄CSDN,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-04-04
Python中分支語(yǔ)句與循環(huán)語(yǔ)句實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Python中分支語(yǔ)句與循環(huán)語(yǔ)句的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
Python configparser模塊封裝及構(gòu)造配置文件
這篇文章主要介紹了Python configparser模塊封裝及構(gòu)造配置文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
解決Django中修改js css文件但瀏覽器無(wú)法及時(shí)與之改變的問(wèn)題
今天小編就為大家分享一篇解決Django中修改js css文件但瀏覽器無(wú)法及時(shí)與之改變的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08

