CentOS7上使用pyenv搭建Django環(huán)境
一、pyenv是什么?能做什么?
pyenv是一個(gè)forked自ruby社區(qū)的簡(jiǎn)單、低調(diào)、遵循UNIX哲學(xué)的Python環(huán)境管理工具, 它可以輕松切換全局解釋器版本, 同時(shí)結(jié)合vitualenv插件可以方便的管理對(duì)應(yīng)的包源.
pyenv可以很輕松的下載指定的python版本,可以很輕松的在當(dāng)前目錄,全局環(huán)境,當(dāng)前shell中切換到需要的python環(huán)境,我們看下GitHub上對(duì)pyenv的介紹,python的虛擬環(huán)境個(gè)人也比較推薦pyenv,切換很方便,不用像virtualenv或者其他虛擬環(huán)境一樣麻煩。
二、pyenv如何安裝和使用
2.1 安裝
本次實(shí)在CentOS7.3上安裝的,推薦使用官方推薦的Automatic installer方法安裝,安裝起來(lái)非常簡(jiǎn)單,方式也比較快捷
yum install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
在/etc/bash_profile中追加如下內(nèi)容
export PATH="/home/python/.pyenv/bin:$PATH" eval "(pyenv init -)" eval "(pyenv virtualenv-init -)" source /etc/bash_profile
2.2 使用
我們可以用命令查看下pyenv支持下載安裝哪些版本
pyenv install -l
根據(jù)我們需要的版本,可以安裝python版本,本次以安裝python 3.9.2為例
pyenv install 3.9.2 (需要有網(wǎng)絡(luò),該過(guò)程會(huì)去python官網(wǎng)下載python版本然后自行編譯安裝,因此該過(guò)程實(shí)際時(shí)間根據(jù)網(wǎng)絡(luò)時(shí)間和主機(jī)CPU性能來(lái)定)
安裝完成之后,可以使用pyenv versions來(lái)查看當(dāng)前系統(tǒng)中的python版本
接下來(lái),我們開(kāi)始設(shè)置pythen版本,設(shè)置python版本總共有三個(gè)環(huán)境可供選擇設(shè)置
pyenv global 3.9.2 //系統(tǒng)整體的切換到python3.9.2的版本pyenv shell 3.9.2 //當(dāng)前的shell會(huì)話切換到python3.9.2版本pyenv local 3.9.2 //當(dāng)前目錄路徑內(nèi)切換到python3.9.2版本
我們安裝使用django,當(dāng)然是單獨(dú)創(chuàng)建一個(gè)目錄,用這個(gè)目錄來(lái)存放項(xiàng)目,因此我們創(chuàng)建一個(gè)project目錄,使用pyenv local 3.9.2,將當(dāng)前目錄的版本設(shè)置為python3.9.2
三、什么是Django
Django有太多太多的文檔和博客來(lái)說(shuō)明了,這里就廢話少說(shuō),大概介紹下,具體的話看別人博客或者官網(wǎng)都可以。Django 是使用 Python 語(yǔ)言編寫(xiě)的一個(gè)廣受歡迎且功能完整的服務(wù)器端網(wǎng)站框架,由經(jīng)驗(yàn)豐富的開(kāi)發(fā)者構(gòu)建,Django負(fù)責(zé)處理網(wǎng)站開(kāi)發(fā)中麻煩的部分,因此你可以專注于編寫(xiě)應(yīng)用程序,而無(wú)需重新開(kāi)發(fā)。它是免費(fèi)和開(kāi)源的,有活躍繁榮的社區(qū),豐富的文檔,以及很多免費(fèi)和付費(fèi)的解決方案。
根據(jù)官網(wǎng)上的內(nèi)容,可以看到Django的迭代速度還是相對(duì)比較快的,因此開(kāi)發(fā)建議選擇一個(gè)長(zhǎng)期維護(hù)并且穩(wěn)定的版本,本次安裝使用3.2.8版本的,相對(duì)來(lái)說(shuō)維護(hù)周期長(zhǎng),比較穩(wěn)定可靠。
四、Django安裝和搭建
4.1 安裝
前面我們已經(jīng)安裝了pyenv因此安裝django就會(huì)輕松很多,直接使用pip命令安裝即可(注意需要在上面的project目錄里面使用pip3安裝,否則默認(rèn)使用系統(tǒng)的pip2安裝會(huì)有問(wèn)題的)
安裝完成之后,我們需要在pyenv環(huán)境里面更新下數(shù)據(jù)庫(kù),就可以使用django的相關(guān)命令
pyenv rehash
完成之后我們使用django相關(guān)命令會(huì)發(fā)現(xiàn)報(bào)錯(cuò),想不到sqlite3相關(guān)的模塊,這是因?yàn)閐jango對(duì)sqlite有版本要求(低版本django可能無(wú)),因?yàn)槲覀冞€需要更新CentOS7.3上面的sqlite的版本
cd /tmp/project django startproject HelloDjango python manager.py startapp App
因此我們需要將系統(tǒng)的sqlite更新到更高的版本3.9之后,本次更新到3.36版本,先去sqlite官網(wǎng)下載對(duì)應(yīng)的版本編譯安,CentOS選擇autoconf版本編譯安裝,編譯時(shí)間根據(jù)系統(tǒng)CPU性能而定
tar zxvf sqlite-autoconf-3360000.tar.gz
安裝成功之后需要將系統(tǒng)中默認(rèn)的sqlite版本改為我們編譯的版本,因此需要做如下操作
mv /usr/bin/sqlite3 /usr/bin/sqlite3_old ln -sv /usr/local/bin/sqlite3 /usr/bin/sqlite3 sqlite3 --version export LD_LIBRARY_PATH="/usr/local/lib" 設(shè)置環(huán)境變量
4.2 使用
我們可以看到sqlite3已經(jīng)更新到我們高版本了,因此再運(yùn)行django命令就沒(méi)有任何問(wèn)題了
django-admin startproject HelloDjango 創(chuàng)建一個(gè)叫HelloDjango的項(xiàng)目 cd HelloDjango python manage.py startapp App HelloDjango項(xiàng)目中創(chuàng)建一個(gè)App的應(yīng)用
進(jìn)入到HelloDjango中我們修改下settings.py文件中允許被訪問(wèn)的主機(jī),如果不修改默認(rèn)只允許127.0.0.1本機(jī)回環(huán)地址,這對(duì)我們web應(yīng)用來(lái)說(shuō)沒(méi)有意義,因此我們需要修改ALLOWED_HOSTS默認(rèn)允許的主機(jī)改為"*"即可
接下來(lái)我們就開(kāi)始啟動(dòng)第一個(gè)django服務(wù)了
python manage.py. runserver. 0.0.0.0:8000 開(kāi)放本機(jī)所有地址的8000端口
然后使用瀏覽器,在瀏覽器中輸入我們本機(jī)的地址加端口號(hào)8000,即可完成訪問(wèn),安裝搭建即到此為止。
http://xxx.xxx.xxx.xxx:8000
到此這篇關(guān)于CentOS7上使用pyenv搭建Django環(huán)境 的文章就介紹到這了,更多相關(guān)pyenv搭建Django環(huán)境 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的注冊(cè)機(jī)并生成卡密
這篇文章主要為大家詳細(xì)介紹了如何使用Python編寫(xiě)一個(gè)簡(jiǎn)單而強(qiáng)大的注冊(cè)機(jī),生成卡密來(lái)實(shí)現(xiàn)用戶注冊(cè),從而輕松登錄應(yīng)用程序,有需要的小伙伴快可以參考下2023-12-12NVIDIA安裝CUDA的實(shí)現(xiàn)(圖文教程)
本文主要介紹了NVIDIA安裝CUDA的實(shí)現(xiàn),包括系統(tǒng)要求、軟件下載、安裝步驟以及常見(jiàn)問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01PYQT5開(kāi)啟多個(gè)線程和窗口,多線程與多窗口的交互實(shí)例
今天小編就為大家分享一篇PYQT5開(kāi)啟多個(gè)線程和窗口,多線程與多窗口的交互實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12tensorflow保持每次訓(xùn)練結(jié)果一致的簡(jiǎn)單實(shí)現(xiàn)
今天小編就為大家分享一篇tensorflow保持每次訓(xùn)練結(jié)果一致的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python OpenCV處理圖像之濾鏡和圖像運(yùn)算
這篇文章主要為大家詳細(xì)介紹了Python OpenCV處理圖像之濾鏡和圖像運(yùn)算,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07Python 作圖實(shí)現(xiàn)坐標(biāo)軸截?cái)?打斷)的效果
這篇文章主要介紹了Python 作圖實(shí)現(xiàn)坐標(biāo)軸截?cái)?打斷)的效果,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04pandas按行按列遍歷Dataframe的三種方式小結(jié)
本文主要介紹了pandas按行按列遍歷Dataframe,主要介紹了三種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11R vs. Python 數(shù)據(jù)分析中誰(shuí)與爭(zhēng)鋒?
R和Python兩者誰(shuí)更適合數(shù)據(jù)分析領(lǐng)域?在某些特定情況下誰(shuí)會(huì)更有優(yōu)勢(shì)?還是一個(gè)天生在各方面都比另一個(gè)更好?2017-10-10