python3.7怎么安装django_python开发笔记-Python3.7+Django2.2 Docker镜像搭建
***********************************************
************************************************
目標(biāo)鏡像環(huán)境介紹:
操作系統(tǒng):ubuntu16.04
python版本:python 3.7.4
django版本:2.2
操作步驟:
1.? 本地安裝docker環(huán)境(略)
2. 拉取ubunut指定版本鏡像文件
docker pull ubuntu:16.04
3. 指定映射端口,啟動容器
補(bǔ)充啟動容器注意點:
啟動的時候,加參數(shù)-t -it有區(qū)別, https://www.cnblogs.com/miracle-luna/p/11111852.html
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與-i 同時使用;
-it --若不加該參數(shù),運行容器,發(fā)現(xiàn)容器雖然創(chuàng)建了,但是并沒有正常啟動,而你執(zhí)行docker start *** 的時候,發(fā)現(xiàn)還是不能正常啟動,所以-i或-t參數(shù)也可以理解為,run容器時,必需加其中一個參數(shù)。
注意:一般加-t就可以,-i 或者 -it加上之后啟動容器,在執(zhí)行docker attach XXX 命令看容器輸出的時候,若此時執(zhí)行ctrl+C退出,會導(dǎo)致容器直接關(guān)閉。所以我一般習(xí)慣啟動容器的時候,加-d(后臺進(jìn)程啟動) -t 分配一個偽終端。
如下:
docker run -d -p 8000:8000 --name dj22_py37 -t ubuntu:16.04
如下圖:ctrl + c 強(qiáng)制退出終端之后,容器并沒有關(guān)閉。
4. 進(jìn)入容器,確認(rèn)系統(tǒng)版本,安裝常用包,python3.7.4 pip3 django2.2
docker exec -u root -it dj22_py37 /bin/bash
鏡像比較干凈, 鏡像文件只有120M,并且里邊沒裝python
ubuntu16-docker環(huán)境-更換阿里源,提高軟件包安裝速度:
更換之前要先備份之前的源:
cp /etc/apt/source.list /etc/apt/source.list.bak
編輯源列表文件
vim/etc/apt/sources.list
將原來的列表刪除,替換:
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
更新:
apt-get update
先安裝zip vim 等包
apt-get install zip
apt-get install vim
OK,開始安裝當(dāng)前最新版python3.7.4
下載到本地后,文件大小:
將該文件上傳到容器內(nèi)部,解壓:
先安裝python依賴環(huán)境:
apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev--時間較長,耐心等待
解壓python壓縮文件:
tar-zxvf Python-3.7.4.tgz
解壓后,進(jìn)入目錄:
cd Python-3.7.4建立本地安裝目錄:
mkdir-p /usr/local/python3
編譯安裝:
---執(zhí)行這步時,建議后邊加上參數(shù):--enable-optimizations 字面意思就是"開啟優(yōu)化",會自動安裝pip3及優(yōu)化配置,
---但是這會造成編譯安裝需要較長到時間,如果網(wǎng)絡(luò)環(huán)境不穩(wěn)定,或者著急使用python環(huán)境,可以不加該參數(shù)!!!
./configure --prefix=/usr/local/python3 --enable-optimizations
make#耐心等待
make install
到此,本地編譯安裝已完成
這里由于是純凈的環(huán)境,假如同學(xué)你本地環(huán)境之前安裝過python,則需要將原先/usr/bin/下的python相關(guān)鏈接刪除,要不即使你安裝了新的python,但是系統(tǒng)默認(rèn)還會讀取你原先的環(huán)境。
通過如下命令刪除舊的環(huán)境軟鏈接配置,這塊操作謹(jǐn)慎!!!---本地原先沒有python環(huán)境的同學(xué),可以忽略如下步驟,跳過執(zhí)行下一步。
rm -rf /usr/bin/python3
rm-rf /usr/bin/pip3
建立軟鏈接,將本地編譯安裝的/user/local/python下的執(zhí)行文件 指向/user/bin下
#添加python3的軟鏈接
---如果本地環(huán)境沒有裝python2,也不打算用python2,可以直接將鏈接指向?qū)懗?usr/bin/python,也是可以的,這樣每次進(jìn)入終端環(huán)境或者運行程序,直接輸入python就可以,但是還是建議2和3區(qū)分開指向。
ln-s /usr/local/python3/bin/python3.7 /usr/bin/python3#添加 pip3 的軟鏈接
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
驗證版本:
root@c3af9f44f7f7:/#python3 -V
Python 3.7.4root@c3af9f44f7f7:/#pip3 -V
pip 19.0.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
OK,至此,python3.7.4 環(huán)境安裝完成。
下一步開始安裝:django 2.2
因為我們上邊安裝的是pip3,所以安裝命令需要改成如下:
pip3 install Django==2.2.4
安裝完成后,查看Django版本
python3importdjango
django.get_version()
安裝django框架下,python連接postgresql的驅(qū)動: psycopg2
pip3 install psycopg2
直接安裝出現(xiàn)如下錯誤:
網(wǎng)絡(luò)查找ubuntu環(huán)境下,報錯原因:---小伙伴們注意,如下處理方式只適用于解決ubunut下的安裝異常,對于其他系統(tǒng)的異常如下內(nèi)容請作選擇性參考!!!
Error: pg_config executable notfound.
pg_configis in postgresql-devel (libpq-dev in Debian/Ubuntu)1)安裝libpq-dev
apt-get install libpq-dev python-dev2)然后重新執(zhí)行:
pip3 install psycopg2------------------------------------------------------root@c3af9f44f7f7:/#pip3 install psycopg2
Collecting psycopg2
Using cached https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz
Installing collected packages: psycopg2
Running setup.py installforpsycopg2 ... done
Successfully installed psycopg2-2.8.3You are using pip version19.0.3, however version 19.2.1 isavailable.
You should consider upgrading via the'pip install --upgrade pip'command.
root@c3af9f44f7f7:/#
驗證版本:
OK, 至此基礎(chǔ)環(huán)境已經(jīng)配置完成。
我們將鏡像提交,打包,這樣團(tuán)隊其他小伙伴,就可以直接應(yīng)用了,并且保證了大家的基礎(chǔ)開發(fā)環(huán)境一致,并且還有個好處,如果線上生產(chǎn)環(huán)境是docker部署的話,這個鏡像還可以直接應(yīng)用于后續(xù)的生產(chǎn)環(huán)境。
docker commit c3af9f44f7f7 dj22_py37:1.0
---耐心等待
鏡像創(chuàng)建成功,可以打包備份:
docker save dj22_py37:1.0 -o /home/dj22_py37.tar
總結(jié)
以上是生活随笔為你收集整理的python3.7怎么安装django_python开发笔记-Python3.7+Django2.2 Docker镜像搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python并且怎么表示_Python-
- 下一篇: python的主要应用领域及常用的函数模