在我們開始裝機(jī)的時(shí)候
很多同學(xué)選的是 minmal install最小化安裝(就會(huì)缺少很多軟件包,依賴包)
那么假設(shè)你在編譯安裝py3,mysql,nginx等軟件的時(shí)候,就會(huì)依賴于這些組件的基礎(chǔ)運(yùn)行
解決這個(gè)依賴包的問(wèn)題吧,最好的方式就是 yum install *****
-
linux安裝軟件三種方式:
- rpm方式安裝(需要處理依賴關(guān)系,不推薦?。?/li>
- yum安裝(適合小型軟件)
- 編譯安裝(適合大型軟件,需要自定制功能的軟件)
-
編譯(源代碼)安裝軟件三部曲:
-
1.首選解決軟件包依賴問(wèn)題
- yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel
2 .下載軟件的源代碼(如python3.6.4.tgz)
3.解壓縮軟件源代碼,切換進(jìn)入源代碼目錄
4./configure釋放編譯文件,make 編譯,make install 編譯安裝
-
一、編碼編譯安裝python3
1.解決依賴關(guān)系
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
2.下載python源代碼
wget https://www.python.org/ftp/python/3.4.7/Python-3.4.7.tar.xz
3.解壓縮python源代碼
xz -d Python-3.4.7.tar.xz
tar -xf Python-3.4.7.tar
4.切換進(jìn)入python源代碼目錄
cd /opt/Python-3.4.7
5.開始編譯安裝,釋放編譯文件
./configure --prefix=/opt/python347/ #此時(shí)還不會(huì)生成這個(gè)文件夾!
./configure是用來(lái)檢測(cè)你的安裝平臺(tái)的目標(biāo)特征的。比如它會(huì)檢測(cè)你是不是有CC或GCC,并不是需要CC或GCC,它是個(gè)shell腳本。
這個(gè)confiure腳本執(zhí)行后,會(huì)生成一個(gè)Makefile文件
6.開始編譯,編譯安裝
make
make install #直到這兩步走完,才會(huì)生成。創(chuàng)建 /opt/python347/
這兩句可以直接寫成make && make install
make是用來(lái)編譯的,它從Makefile中讀取指令,然后編譯。
make install是用來(lái)安裝的,它也從Makefile中讀取指令,安裝到指定的位置
7.檢查你自己制定的安裝路徑
查看/opt/python347/bin目錄,python3的可執(zhí)行命令都在bin底下了
8.配置軟連接,快捷啟動(dòng)python3和pip3,可以省略直接執(zhí)行第9步
ln -s /opt/python347/bin/python3 /usr/bin/python3
ln -s /opt/python347/bin/pip3 /usr/bin/pip3
9.配置系統(tǒng)環(huán)境變量,配置PATH,加入python3的目錄
#盡量用這一步
PATH=/opt/python347/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
#這一步盡量別用了
PATH=/opt/python347/bin/:$PATH
寫入個(gè)人配置文件,永久生效
打開個(gè)人配置文件vim /etc/profile
寫入PATHPATH=$PATH:/opt/python347/bin/
讀取一下配置文件,生效配置source /etc/profile
配置環(huán)境變量需謹(jǐn)慎,如果配錯(cuò)了,你的其他命令也會(huì)丟失!
二、安裝啟動(dòng)django
安裝Django
pip3 install Django==1.11.14
創(chuàng)建django項(xiàng)目
django-admin startproject 項(xiàng)目名稱
修改django配置文件settings.py
打開項(xiàng)目中的settings.pyvim settings.py
將ALLOWED_HOSTS = []改為ALLOWED_HOSTS = ['*']
啟動(dòng)django
必須在項(xiàng)目所在的文件夾中啟動(dòng)
python3 manage.py runserver 0.0.0.0:9000
可以在后邊加上一個(gè)& 讓django后臺(tái)運(yùn)行
python3 manage.py runserver 0.0.0.0:9000 &
可能出現(xiàn)的問(wèn)題
網(wǎng)頁(yè)訪問(wèn)不到解決辦法: 關(guān)閉防火墻
iptables -F
setenforce 0
不要用win8 win10自帶的瀏覽器, 用chrome
三、Python環(huán)境安裝之virtualenv虛擬環(huán)境
指定清華源下載pip的包
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
升級(jí)pip工具
pip3 install --upgrade pip
創(chuàng)建目錄
mkdir Myproject
cd Myproject
創(chuàng)建虛擬環(huán)境 venv
virtualenv --no-site-packages --python=python3 虛擬環(huán)境名
激活虛擬環(huán)境
source /data/mydjango1.11.15/venv/bin/activate
此時(shí)你的環(huán)境變量,已經(jīng)被修改,添加了虛擬環(huán)境,可以通過(guò)echo $PATH查看
在虛擬環(huán)境中安裝Django
pip3 install django==1.11.15
退出venv環(huán)境
deactivate
virtualenv是如何創(chuàng)建“獨(dú)立”的Python運(yùn)行環(huán)境的呢?
原理很簡(jiǎn)單,就是把系統(tǒng)Python復(fù)制一份到virtualenv的環(huán)境,用命令source venv/bin/activate進(jìn)入一個(gè)virtualenv環(huán)境時(shí),virtualenv會(huì)修改相關(guān)環(huán)境變量,讓命令python和pip均指向當(dāng)前的virtualenv環(huán)境。
四、確保開發(fā)環(huán)境的一致性
1.假設(shè)我們?cè)诒镜亻_發(fā)環(huán)境,準(zhǔn)備好了項(xiàng)目+依賴包環(huán)境
2.現(xiàn)在需要將項(xiàng)目上傳至服務(wù)器,上線發(fā)布
3.那么就要保證服務(wù)器的python環(huán)境一致性
解決方案:
- 1.通過(guò)命令保證環(huán)境的一致性,導(dǎo)出當(dāng)前python環(huán)境的包
pip3 freeze > requirements.txt
通過(guò)命令:where requirements.txt查看文件保存路徑
這將會(huì)創(chuàng)建一個(gè) requirements.txt 文件,其中包含了當(dāng)前環(huán)境中所有包及 各自的版本的簡(jiǎn)單列表。
可以使用 “pip list”在不產(chǎn)生requirements文件的情況下, 查看已安裝包的列表。 - 將導(dǎo)出的requirements.txt文件上傳到服務(wù)器的虛擬環(huán)境所在的文件夾中,在venv中導(dǎo)入項(xiàng)目所需的模塊依賴
pip3 install -r requirements.txt
五、虛擬環(huán)境之virtualenvwrapper
- virtualenv 的一個(gè)最大的缺點(diǎn)就是:
- 每次開啟虛擬環(huán)境之前要去虛擬環(huán)境所在目錄下的 bin 目錄下 source 一下 activate,這就需要我們記住每個(gè)虛擬環(huán)境所在的目錄。
- 使用virtualenvwrapper管理你的虛擬環(huán)境(virtualenv),其實(shí)他就是統(tǒng)一管理虛擬環(huán)境的目錄,并且省去了source的步驟。
步驟1:安裝virtualenvwrapper ,在系統(tǒng)解釋器下安裝
指定清華pip源加速下載
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenvwrapper
步驟2:設(shè)置Linux的環(huán)境變量,每次啟動(dòng)就加載virtualenvwrapper
把下面代碼添加到 ~/.bashrc文件中
- 打開文件
vim ~/.bashrc - 寫入以下代碼(根據(jù)自己目錄結(jié)構(gòu)修改參數(shù))
export WORKON_HOME=~/Envs #設(shè)置virtualenv的統(tǒng)一管理目錄
VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 #賦值一個(gè)virtualenvwrapper變量
source /opt/python347/bin/virtualenvwrapper.sh #執(zhí)行virtualenvwrapper安裝腳本
讀取virtualenvwrapper的環(huán)境變量,使得每次開機(jī)就加載
source ~/.bashrc
virtualenvwrapper的管理命令
- 創(chuàng)建一個(gè)虛擬環(huán)境,默認(rèn)會(huì)激活當(dāng)前這個(gè)虛擬環(huán)境
mkvirtualenv my_django115
再創(chuàng)建一個(gè)虛擬環(huán)境,默認(rèn)切換進(jìn)入my_django2的虛擬環(huán)境
mkvirtualenv my_django2 - 任意切換不同的虛擬環(huán)境,workon提供tab補(bǔ)全功能,非常方便
workon my_django115 - 手動(dòng)停止虛擬環(huán)境
deactivate