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 django 增刪改查操作 數(shù)據(jù)庫(kù)Mysql
下面小編就為大家?guī)?lái)一篇python django 增刪改查操作 數(shù)據(jù)庫(kù)Mysql。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
Ubuntu16.04 安裝多個(gè)python版本的問(wèn)題及解決方法
Ubuntu16.04自帶python2.7與python3.5,Ubuntu 官方 apt 庫(kù)中還未收錄 python 3.8,因此添加 deadsnakes PPA 源安裝python3.8,否則會(huì)出現(xiàn)報(bào)錯(cuò),接下來(lái)通過(guò)本文給大家介紹Ubuntu16.04 安裝python的問(wèn)題,一起看看吧2021-09-09
基于PyQT5制作一個(gè)課堂點(diǎn)名系統(tǒng)
這篇文章主要為大家介紹一個(gè)基于PyQt5實(shí)現(xiàn)的抖音同款課堂點(diǎn)名系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試2022-02-02
python: line=f.readlines()消除line中\(zhòng)n的方法
這篇文章主要介紹了python: line=f.readlines()消除line中\(zhòng)n的方法,需要的朋友可以參考下2018-03-03
Python json模塊與jsonpath模塊區(qū)別詳解
這篇文章主要介紹了Python json模塊與jsonpath模塊區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
python基于pygame實(shí)現(xiàn)飛機(jī)大作戰(zhàn)小游戲
這篇文章主要為大家詳細(xì)介紹了python基于pygame實(shí)現(xiàn)飛機(jī)大作戰(zhàn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
pandas round方法保留兩位小數(shù)的設(shè)置實(shí)現(xiàn)
本文主要介紹了pandas round方法保留兩位小數(shù)的設(shè)置實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
如何修復(fù)使用 Python ORM 工具 SQLAlchemy 時(shí)的常見(jiàn)陷阱
SQLAlchemy 是一個(gè) Python ORM 工具包,它提供使用 Python 訪問(wèn) SQL 數(shù)據(jù)庫(kù)的功能。這篇文章主要介紹了如何修復(fù)使用 Python ORM 工具 SQLAlchemy 時(shí)的常見(jiàn)陷阱,需要的朋友可以參考下2019-11-11
python實(shí)現(xiàn)按關(guān)鍵字篩選日志文件
今天小編大家分享一篇python實(shí)現(xiàn)按關(guān)鍵字篩選日志文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12

