streamlit(python構(gòu)建web)之環(huán)境搭建過程
前言
在微信的訂閱號(hào)文章中偶然看到了一篇對(duì)于streamlit的介紹,因?yàn)榇藥鞂?duì)于學(xué)習(xí)過Javaweb和pythonweb開發(fā)的我來說,我個(gè)人認(rèn)為比起python的flask等框架來說,streamlit 能夠快速開發(fā)web程序用于開發(fā)安全掃描工具提供了極大的便利,在看到它的應(yīng)用后,讓我眼前一亮.
1. 什么是Streamlit?
Streamlit是一個(gè)專為數(shù)據(jù)科學(xué)家設(shè)計(jì)的開源Python庫,它通過提供直觀的API簡化了將數(shù)據(jù)分析腳本轉(zhuǎn)化為完全功能的Web應(yīng)用的過程。
使用Streamlit,開發(fā)者可以輕松地添加交互式組件,如滑塊、下拉菜單和文本輸入框,以收集用戶輸入,同時(shí)能夠動(dòng)態(tài)地展示圖表、圖像、數(shù)據(jù)表格和文本,從而創(chuàng)建出既美觀又實(shí)用的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用。
Streamlit的應(yīng)用范圍廣泛,從快速原型開發(fā)到復(fù)雜的數(shù)據(jù)儀表板,都可以通過它來實(shí)現(xiàn),極大地提高了開發(fā)效率并降低了技術(shù)門檻。
2. Streamlit的原理
Streamlit的工作原理基于Python的Jupyter Notebook。它通過將Python腳本轉(zhuǎn)換為交互式Web應(yīng)用,讓復(fù)雜的數(shù)據(jù)處理和分析過程變得可視化和可交互。Streamlit應(yīng)用的運(yùn)行依賴于一個(gè)簡單的Web服務(wù)器,這使得它易于部署和分享。
Jupyter Notebook 可以理解為筆記應(yīng)用,每一段代碼之間,可以獨(dú)立運(yùn)行下面用anaconda中內(nèi)置的工具做個(gè) Jupyter Notebook 演示.
如下圖所示,隨便用我寫的兩個(gè)小demo進(jìn)行演示:, Jupyter Notebook 可以分別對(duì)代碼片段進(jìn)行運(yùn)行,是數(shù)據(jù)分析科學(xué)家常常用的工具,當(dāng)然本篇介紹的不是這個(gè),也就簡單介紹一下,可以運(yùn)行不同的代碼片段,并將運(yùn)行的結(jié)果,包括數(shù)據(jù),表格,甚至圖表以及第三方庫例如Pandas、Matplotlib、Seaborn、Pyecharts等的效果也可進(jìn)行展示,因此廣為使用.
2.1 demo1-運(yùn)行計(jì)時(shí)程序
import time def main(): # 記錄開始時(shí)間 start_time = time.time() time.sleep(2) # 模擬耗時(shí)2秒的任務(wù) # 記錄結(jié)束時(shí)間 end_time = time.time() # 計(jì)算并打印執(zhí)行時(shí)間 print(f"程序運(yùn)行時(shí)間: {end_time - start_time} 秒") if __name__ == "__main__": main()
2.2 demo2-隨即密碼生成器
import random import string def generate_password(length=10): # 定義密碼字符集,包括大小寫字母和數(shù)字 characters = string.ascii_letters + string.digits # 使用random.choices隨機(jī)選擇字符 password = ''.join(random.choices(characters, k=length)) return password # 生成并打印密碼 password = generate_password() print("生成的隨機(jī)密碼是:", password)
3. 安裝Streamlit
3.1 安裝方式一
直接進(jìn)行dos命令安裝,這種需要自己有配置好的python環(huán)境,這里我使用PyCharm的專業(yè)版進(jìn)行使用,當(dāng)然社區(qū)版也是可以的,這里我使用了prowershell也就是管理員名令環(huán)境,如果遇到無法安裝,也可自行在管理員窗口下運(yùn)行.
安裝Streamlit非常簡單,只需要一行命令:
pip install streamlit
3.2 安裝方式二
3.2.1 安裝 conda
- 前往 Download Anaconda Distribution | Anaconda ,選擇與你操作系統(tǒng)(Windows, Mac 或 Linux)對(duì)應(yīng)的
conda
版本 - 下載安裝器并運(yùn)行,完成
conda
的安裝
3.2.2 新建一個(gè) conda 環(huán)境
現(xiàn)在你已經(jīng)裝好了 conda ,讓我們來創(chuàng)建一個(gè) conda 環(huán)境來管理所有 Python 庫依賴。
比如按照如下指令,使用 Python 3.9 版本創(chuàng)建一個(gè)新的環(huán)境:
conda create -n stenv python=3.9
其中 create -n stenv
表示創(chuàng)建一個(gè)名為 stenv
的 conda 環(huán)境,而 python=3.9
會(huì)指定 conda 環(huán)境使用 3.9 版本的 Python。
3.2.3 激活 conda 環(huán)境
要使用上一步剛創(chuàng)建好的名為 stenv
的 conda 環(huán)境,則需要使用如下的命令:
conda activate stenv
3.2.4 安裝 Streamlit 庫
激活環(huán)境之后就是時(shí)候安裝 streamlit
庫了:
pip install streamlit
4. 啟動(dòng)示例 Streamlit 應(yīng)用
通過在命令窗口運(yùn)行下面的命令即可進(jìn)行測試
streamlit hello
出現(xiàn)下面的提示輸入郵箱直接按空格置空即可
瀏覽器會(huì)彈出一個(gè)web應(yīng)用窗口,說明安裝成功
http://localhost:8501/
下面是streamlit自帶的一些動(dòng)畫演示,很神奇,并且出乎我的意料
4.1 動(dòng)畫演示
這個(gè)應(yīng)用程序展示了如何使用 Streamlit 來構(gòu)建很酷的動(dòng)畫。 它顯示基于 Julia 集的動(dòng)畫分形。使用滑塊 調(diào)整不同的參數(shù)。
4.2 繪畫演示
此演示演示了繪圖和動(dòng)畫的組合 流光。我們正在一個(gè)循環(huán)中生成一堆隨機(jī)數(shù),用于 5 秒。享受!
4.3 映射演示
此演示演示如何使用st.pydeck_chart顯示地理空間數(shù)據(jù)。
4.4 DataFrame 演示
此演示演示如何使用 Pandas DataFrames 進(jìn)行可視化。 (數(shù)據(jù)由聯(lián)合國數(shù)據(jù)瀏覽器提供)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)郵件的批量發(fā)送的示例代碼
下面小編就為大家分享一篇Python實(shí)現(xiàn)郵件的批量發(fā)送的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01opencv 形態(tài)學(xué)變換(開運(yùn)算,閉運(yùn)算,梯度運(yùn)算)
這篇文章主要介紹了opencv 形態(tài)學(xué)變換(開運(yùn)算,閉運(yùn)算,梯度運(yùn)算),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07python空值判斷方式(if xxx和if xxx is None的區(qū)別及說明
這篇文章主要介紹了python空值判斷方式(if xxx和if xxx is None的區(qū)別及說明),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11pyecharts繪制時(shí)間輪播圖柱形圖+餅圖+玫瑰圖+折線圖
這篇文章主要介紹了pyecharts繪制時(shí)間輪播圖柱形圖+餅圖+玫瑰圖+折線圖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-06-06python使用自定義user-agent抓取網(wǎng)頁的方法
這篇文章主要介紹了python使用自定義user-agent抓取網(wǎng)頁的方法,涉及Python使用urllib2模塊操作網(wǎng)頁的技巧,需要的朋友可以參考下2015-04-04python爬蟲Mitmproxy安裝使用學(xué)習(xí)筆記
這篇文章主要介紹了python爬蟲Mitmproxy學(xué)習(xí)筆記分享,有需要的朋友可以收藏學(xué)習(xí)下,希望可以對(duì)你有所幫助,大家一起共同學(xué)習(xí),共同進(jìn)步2021-09-09