最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 虛擬環(huán)境venv詳解

 更新時(shí)間:2021年09月14日 14:10:27   作者:小菠蘿測(cè)試筆記  
Python 虛擬環(huán)境主要是為不同 Python 項(xiàng)目創(chuàng)建一個(gè)隔離的環(huán)境,每個(gè)項(xiàng)目都可以擁有獨(dú)立的依賴包環(huán)境,而項(xiàng)目間的依賴包互不影響,對(duì)Python 虛擬環(huán)境venv相關(guān)知識(shí)感興趣的朋友一起看看吧

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

  • 這是 Python 3.3 的新特性:https://www.python.org/dev/peps/pep-0405/
  • 假設(shè)自己電腦主機(jī)的 Python 環(huán)境稱為系統(tǒng)環(huán)境,而默認(rèn)情況下,虛擬環(huán)境和系統(tǒng)環(huán)境是完全隔離的
  • 每個(gè)系統(tǒng)環(huán)境下可以有多個(gè)虛擬環(huán)境
  • 每個(gè)虛擬環(huán)境都有自己的 Python 二進(jìn)制文件及單獨(dú)的包安裝目錄,可以在虛擬環(huán)境中安裝屬于自己的 Python 包,而系統(tǒng)環(huán)境、其他虛擬環(huán)境并不會(huì)擁有這些 Python 包

一句話總結(jié)

Python 虛擬環(huán)境主要是為不同 Python 項(xiàng)目創(chuàng)建一個(gè)隔離的環(huán)境,每個(gè)項(xiàng)目都可以擁有獨(dú)立的依賴包環(huán)境,而項(xiàng)目間的依賴包互不影響

為什么要虛擬環(huán)境

說下背景

  • 假設(shè)一個(gè)電腦包含多個(gè) Python 項(xiàng)目
  • 每個(gè)項(xiàng)目所需的 Python 版本不一致,比如:Python 2.X、Python 3.X
  • 每個(gè)項(xiàng)目所需的依賴包不一致,比如 A 項(xiàng)目只要 Selenium 相關(guān)依賴包,B 項(xiàng)目只要 Appium 相關(guān)依賴包
  • 不同項(xiàng)目用同一個(gè)依賴包,但依賴包版本可能不一致

假設(shè)現(xiàn)在不用虛擬環(huán)境會(huì)有什么問題?

了解下第三方庫(kù)的安裝目錄

默認(rèn)情況下,Python 第三方庫(kù)都是裝在系統(tǒng)固定目錄的,比如 Mac 電腦

>>> import site
>>> site.getsitepackages()
['/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages']

電腦上所有項(xiàng)目都會(huì)從這個(gè)目錄去存儲(chǔ)、查找第三方庫(kù)(站點(diǎn)庫(kù))

帶來的問題

  • 不同項(xiàng)目使用同一個(gè)依賴包,但使用不同版本的依賴包時(shí),意味著當(dāng)開發(fā) A 項(xiàng)目的時(shí)候,要裝一次依賴包 A 版本,轉(zhuǎn)開發(fā) B 項(xiàng)目時(shí),先要卸載依賴包 A 版本,再重裝 B 版本...
  • 一個(gè)環(huán)境下要安裝所有項(xiàng)目需要的依賴包,所以當(dāng)某個(gè)項(xiàng)目需要生成 requirement.txt 的時(shí)候,會(huì)帶上很多用不上的依賴包,要?jiǎng)h還得手工一個(gè)個(gè)刪....

通過 venv 操作虛擬環(huán)境

Python 3.5 后推薦使用 venv 來創(chuàng)建虛擬環(huán)境

創(chuàng)建虛擬環(huán)境

python3 -m venv fastapi_test

fastapi_test 是虛擬環(huán)境名字,可以自定義

激活虛擬環(huán)境

source <環(huán)境名稱>/bin/activate 

可以看到虛擬環(huán)境中的 Package 只有最基礎(chǔ)的 pip、setuptools

關(guān)閉虛擬環(huán)境

deactivate

Pycharm 項(xiàng)目關(guān)聯(lián)新創(chuàng)建的虛擬環(huán)境

先在項(xiàng)目目錄下創(chuàng)建好虛擬環(huán)境

Python Interpreter 選中虛擬環(huán)境

安裝項(xiàng)目所需要的庫(kù)

Pycharm 創(chuàng)建虛擬環(huán)境

  • 選中 Python Interpreter
  • 查看更多 Interpreters
  • 添加一個(gè)新的 Interpreters
  • 選擇 New environment,默認(rèn)選項(xiàng)即可,確定

查看虛擬環(huán)境的目錄

剛剛創(chuàng)建的兩個(gè)虛擬環(huán)境的目錄其實(shí)是一樣的

bin

與虛擬環(huán)境交互的文件

>> ll
total 72
-rw-r--r--  1 polo  staff   8.6K Sep 14 09:26 Activate.ps1
-rw-r--r--  1 polo  staff   1.9K Sep 14 09:26 activate
-rw-r--r--  1 polo  staff   882B Sep 14 09:26 activate.csh
-rw-r--r--  1 polo  staff   2.0K Sep 14 09:26 activate.fish
-rwxr-xr-x  1 polo  staff   269B Sep 14 08:40 pip
-rwxr-xr-x  1 polo  staff   269B Sep 14 08:40 pip3
-rwxr-xr-x  1 polo  staff   269B Sep 14 08:40 pip3.9
lrwxr-xr-x  1 polo  staff     9B Sep 14 08:40 python -> python3.9
lrwxr-xr-x  1 polo  staff     9B Sep 14 08:40 python3 -> python3.9
lrwxr-xr-x  1 polo  staff    39B Sep 14 08:40 python3.9 -> /usr/local/opt/python@3.9/bin/python3.9

include

編譯 Python 包的 C 頭文件

lib

包含Python 版本的副本(python3.9),以及安裝每個(gè)依賴包的 site-packages 文件夾

>> pwd
/Users/polo/Downloads/FastAPI_project/fastapi_test/lib/python3.9/site-packages

>> ll
total 224
drwxr-xr-x   3 polo  staff    96B Sep 14 09:27 __pycache__
drwxr-xr-x   5 polo  staff   160B Sep 14 08:40 _distutils_hack
-rw-r--r--   1 polo  staff   152B Sep 14 08:40 distutils-precedence.pth
drwxr-xr-x  28 polo  staff   896B Sep 14 09:27 fastapi
drwxr-xr-x   8 polo  staff   256B Sep 14 09:27 fastapi-0.68.1.dist-info
drwxr-xr-x   8 polo  staff   256B Sep 14 08:40 pip
drwxr-xr-x  10 polo  staff   320B Sep 14 08:40 pip-21.1.1.dist-info
drwxr-xr-x   7 polo  staff   224B Sep 14 08:40 pkg_resources
drwxr-xr-x  53 polo  staff   1.7K Sep 14 09:27 pydantic
drwxr-xr-x   9 polo  staff   288B Sep 14 09:27 pydantic-1.8.2.dist-info
drwxr-xr-x  41 polo  staff   1.3K Sep 14 08:40 setuptools
drwxr-xr-x  11 polo  staff   352B Sep 14 08:40 setuptools-56.0.0.dist-info
drwxr-xr-x  27 polo  staff   864B Sep 14 09:27 starlette
drwxr-xr-x   8 polo  staff   256B Sep 14 09:27 starlette-0.14.2.dist-info
drwxr-xr-x   8 polo  staff   256B Sep 14 09:27 typing_extensions-3.10.0.2.dist-info
-rw-r--r--   1 polo  staff   107K Sep 14 09:27 typing_extensions.py

從虛擬環(huán)境生成 requirement.txt

先看看有哪些包

> pip list
Package           Version
----------------- --------
fastapi           0.68.1
pip               21.1.1
pydantic          1.8.2
setuptools        56.0.0
starlette         0.14.2
typing-extensions 3.10.0.2

pip freeze

在激活虛擬環(huán)境下敲

pip freeze > requirement.txt  

這樣生成的 requirement.txt 文件就只包含虛擬環(huán)境中已安裝的依賴包了!

包管理利器 popety

TODO

到此這篇關(guān)于Python 虛擬環(huán)境venv詳解的文章就介紹到這了,更多相關(guān)Python 虛擬環(huán)境venv內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)列表拼接和去重的三種方式

    Python實(shí)現(xiàn)列表拼接和去重的三種方式

    本文主要介紹了Python實(shí)現(xiàn)列表拼接和去重,詳細(xì)的介紹了列表拼接和列表去重三種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Django?logging日志模塊實(shí)例詳解(日志記錄模板配置)

    Django?logging日志模塊實(shí)例詳解(日志記錄模板配置)

    Django使用python自帶的logging作為日志打印工具,下面這篇文章主要給大家介紹了Django?logging日志模塊(日志記錄模板配置)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python入門篇之對(duì)象類型

    Python入門篇之對(duì)象類型

    本章中我們將講述Python的對(duì)象類型,包括數(shù)字、整型、布爾型、長(zhǎng)整形、浮點(diǎn)型、復(fù)數(shù)型、字符串、列表、元組、字典等。
    2014-10-10
  • Python中的zipfile模塊使用詳解

    Python中的zipfile模塊使用詳解

    這篇文章主要介紹了Python中的zipfile模塊使用詳解,zipfile模塊是用來操作zip文件,需要的朋友可以參考下
    2015-06-06
  • Python中property函數(shù)用法實(shí)例分析

    Python中property函數(shù)用法實(shí)例分析

    這篇文章主要介紹了Python中property函數(shù)用法,結(jié)合實(shí)例形式分析了property函數(shù)的功能、參數(shù)、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • pandas實(shí)現(xiàn)DataFrame顯示最大行列,不省略顯示實(shí)例

    pandas實(shí)現(xiàn)DataFrame顯示最大行列,不省略顯示實(shí)例

    今天小編就為大家分享一篇pandas實(shí)現(xiàn)DataFrame顯示最大行列,不省略顯示實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python中字典的緩存池

    Python中字典的緩存池

    這篇文章主要介紹了Python中字典的緩存池,字典的緩存池采用數(shù)組實(shí)現(xiàn)的,并且容量也是80個(gè),下文詳細(xì)介紹需要的小伙伴可以參考一下
    2022-05-05
  • python最常用的三種輸出格式解讀

    python最常用的三種輸出格式解讀

    這篇文章主要介紹了python最常用的三種輸出格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python opencv圓、橢圓與任意多邊形的繪制實(shí)例詳解

    python opencv圓、橢圓與任意多邊形的繪制實(shí)例詳解

    在本篇文章里小編給大家整理的是關(guān)于python-opencv-圓、橢圓與任意多邊形的繪制內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。
    2020-02-02
  • Python aiohttp百萬(wàn)并發(fā)極限測(cè)試實(shí)例分析

    Python aiohttp百萬(wàn)并發(fā)極限測(cè)試實(shí)例分析

    這篇文章主要介紹了Python aiohttp百萬(wàn)并發(fā)極限測(cè)試,結(jié)合實(shí)例形式分析了Python異步編程基于aiohttp客戶端高并發(fā)請(qǐng)求的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2019-10-10

最新評(píng)論

桐梓县| 托克托县| 临沧市| 台湾省| 涟水县| 蒙城县| 修武县| 霍山县| 天等县| 漠河县| 习水县| 宁都县| 牟定县| 云和县| 乃东县| 忻州市| 屏南县| 府谷县| 抚顺县| 商丘市| 合阳县| 句容市| 广宁县| 集贤县| 咸阳市| 遵化市| 邵武市| 郁南县| 石屏县| 油尖旺区| 雷波县| 酉阳| 大同县| 政和县| 博爱县| 青铜峡市| 沭阳县| 英德市| 新河县| 集安市| 萝北县|