python3.7怎么安装django_python开发笔记-Python3.7+Django2.2 Docker镜像搭建
***********************************************
************************************************
目標鏡像環境介紹:
操作系統:ubuntu16.04
python版本:python 3.7.4
django版本:2.2
操作步驟:
1.? 本地安裝docker環境(略)
2. 拉取ubunut指定版本鏡像文件
docker pull ubuntu:16.04
3. 指定映射端口,啟動容器
補充啟動容器注意點:
啟動的時候,加參數-t -it有區別, https://www.cnblogs.com/miracle-luna/p/11111852.html
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 為容器重新分配一個偽輸入終端,通常與-i 同時使用;
-it --若不加該參數,運行容器,發現容器雖然創建了,但是并沒有正常啟動,而你執行docker start *** 的時候,發現還是不能正常啟動,所以-i或-t參數也可以理解為,run容器時,必需加其中一個參數。
注意:一般加-t就可以,-i 或者 -it加上之后啟動容器,在執行docker attach XXX 命令看容器輸出的時候,若此時執行ctrl+C退出,會導致容器直接關閉。所以我一般習慣啟動容器的時候,加-d(后臺進程啟動) -t 分配一個偽終端。
如下:
docker run -d -p 8000:8000 --name dj22_py37 -t ubuntu:16.04
如下圖:ctrl + c 強制退出終端之后,容器并沒有關閉。
4. 進入容器,確認系統版本,安裝常用包,python3.7.4 pip3 django2.2
docker exec -u root -it dj22_py37 /bin/bash
鏡像比較干凈, 鏡像文件只有120M,并且里邊沒裝python
ubuntu16-docker環境-更換阿里源,提高軟件包安裝速度:
更換之前要先備份之前的源:
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,開始安裝當前最新版python3.7.4
下載到本地后,文件大小:
將該文件上傳到容器內部,解壓:
先安裝python依賴環境:
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
解壓后,進入目錄:
cd Python-3.7.4建立本地安裝目錄:
mkdir-p /usr/local/python3
編譯安裝:
---執行這步時,建議后邊加上參數:--enable-optimizations 字面意思就是"開啟優化",會自動安裝pip3及優化配置,
---但是這會造成編譯安裝需要較長到時間,如果網絡環境不穩定,或者著急使用python環境,可以不加該參數!!!
./configure --prefix=/usr/local/python3 --enable-optimizations
make#耐心等待
make install
到此,本地編譯安裝已完成
這里由于是純凈的環境,假如同學你本地環境之前安裝過python,則需要將原先/usr/bin/下的python相關鏈接刪除,要不即使你安裝了新的python,但是系統默認還會讀取你原先的環境。
通過如下命令刪除舊的環境軟鏈接配置,這塊操作謹慎!!!---本地原先沒有python環境的同學,可以忽略如下步驟,跳過執行下一步。
rm -rf /usr/bin/python3
rm-rf /usr/bin/pip3
建立軟鏈接,將本地編譯安裝的/user/local/python下的執行文件 指向/user/bin下
#添加python3的軟鏈接
---如果本地環境沒有裝python2,也不打算用python2,可以直接將鏈接指向寫成/usr/bin/python,也是可以的,這樣每次進入終端環境或者運行程序,直接輸入python就可以,但是還是建議2和3區分開指向。
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 環境安裝完成。
下一步開始安裝:django 2.2
因為我們上邊安裝的是pip3,所以安裝命令需要改成如下:
pip3 install Django==2.2.4
安裝完成后,查看Django版本
python3importdjango
django.get_version()
安裝django框架下,python連接postgresql的驅動: psycopg2
pip3 install psycopg2
直接安裝出現如下錯誤:
網絡查找ubuntu環境下,報錯原因:---小伙伴們注意,如下處理方式只適用于解決ubunut下的安裝異常,對于其他系統的異常如下內容請作選擇性參考!!!
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)然后重新執行:
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, 至此基礎環境已經配置完成。
我們將鏡像提交,打包,這樣團隊其他小伙伴,就可以直接應用了,并且保證了大家的基礎開發環境一致,并且還有個好處,如果線上生產環境是docker部署的話,這個鏡像還可以直接應用于后續的生產環境。
docker commit c3af9f44f7f7 dj22_py37:1.0
---耐心等待
鏡像創建成功,可以打包備份:
docker save dj22_py37:1.0 -o /home/dj22_py37.tar
總結
以上是生活随笔為你收集整理的python3.7怎么安装django_python开发笔记-Python3.7+Django2.2 Docker镜像搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python并且怎么表示_Python-
- 下一篇: matlab 折线图_MATLAB作图实