linux系統(tǒng)編譯安裝python3 2018-11-12

在我們開始裝機(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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容