Linux下Python開發環境搭建
yum工具
- Linux安裝軟件包
- rpm手動安裝
- yum工具自動化安裝(等同於 pip)
yum源
yum源倉庫的地址 在/etc/yum.repos.d/,並且只能讀出第一層的repo文件
yum倉庫的文件都是以.repo結尾的
下載阿里雲的.repo倉庫文件 ,放到/etc/yum.repos.d/
- 備份原本的倉庫文件
- cd /etc/yum.repos.d/
- mkdir allbak
- mv ./* allbak
- 下載第一個阿里雲倉庫文件
- wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- -O 參數 ,指定一個下載地址,且改名
- wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 配置第二個倉庫文件 epel 額外倉庫(redis,nginx,mongo,ipython)
- wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 清空原本yum緩存
- yum clean all
- 生成新的阿里雲的yum緩存,加速下載預熱數據
- yum makecache
用yum安裝nginx軟件
- yum install nginx - #安裝nginx
- systemctl start/stop/restaer nginx #系統服務管理命令 ,管理nginx服務的啟停
- 查看nginx啟動后端口 netstat -tunlp | grep 80 #查看端口,過濾80端口的信息
- .啟動了nginx之后,關閉系統的防火牆
- iptables -F #清空防火牆規則
- 參考
<https://blog.csdn.net/lamp_yang_3533/article/details/76644105>
- 在windows中訪問linux的80端口應用
- 瀏覽器 輸入 ip:80 查看nginx頁面
linux環境編譯安裝python3
- 源代碼編譯安裝python3
- 下載python3的源代碼
- cd /opt #進入這個目錄,下載,這是一個約定,規定
- wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
- 下載python3的源代碼
- 下載編譯安裝python的依賴軟件包,只需要執行即可
- 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
- 解壓縮python3的源代碼壓縮文件
- cd /opt/ 進入存在這個文件的目錄
- tar -xf Python-3.6.2.tgz #產生一個源碼包文件夾 Python-3.6.2
- cd Python-3.6.2 # 進入源代碼目錄下,准備開始編譯安裝
- 編譯安裝三部曲
- 第一曲:
- configure 這個腳本文件,只是為了釋放makefile,以及用於指定python3安裝到哪里
- 執行這個命令之前,必須保證第二步的yum安裝模塊正確安裝完畢
- ./configure --prefix=/opt/python36/
- --prefix=/opt/python36/ 這個參數用於指定python安裝的路徑
- configure 這個腳本文件,只是為了釋放makefile,以及用於指定python3安裝到哪里
- 第二曲:
- 執行make ,開始編譯 python3.6的源代碼
- make
- 第三曲:
- make install #生成 /opt/python36/
- 第一曲:
- .此時python3.6編譯完成,文件夾/opt/python36/
- 此時配置linux的path環境變量,讓python3可以直接使用
- vim /etc/profile #打開這個全局變量文件,寫入如下代碼,進入最低行
- PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
- 退出會話,重新加載全局變量 ,加載/etc/profile
- 此時已經可以使用python3了
- which python3 確認是否正確安裝
- 不要將系統默認的python 改成python3 這是一個大坑
- 因為linux有很多工具,默認是用的是python2,例如yum
- 在linux下安裝django程序
- pip3 install -i https://pypi.douban.com/simple django==1.11.16
- 使用django的項目命令創建 mysite
- django-admin startproject mysite #創建項目
- 修改mysite的settings.py
- ALLOW_HOSTS=[]
- 創建django的app
- django-admin startapp app01
- 編寫一個視圖函數 XX ,返回XX
tip
-
python3的模塊管理工具是 pip3 install flask
- pip3 install flask
-
python2的是 easy_install
- easy_install flask #安裝flask模塊
-
logout退出會話
- ctrl + shift + r 快捷登錄
Linux下pyhton虛擬環境安裝
virtualenv 是python解釋器的分身
它是基於物理解釋器,進行一個解釋器分身,這個分身,可以用於運行各種python開發環境,並且創建簡單,刪除銷毀也簡單,解決環境依賴災難。
- 安裝virtualenv ,
pip3 install virtualenv
- 通過virtualenv創建虛擬環境
- cd /opt/allenv #進入同一管理目錄
- virtualenv --no-site-packages --python=python3 venv1
- --no-site-packages 創建一個干凈隔離的python環境
- --python=python3 基於python3創建虛擬環境
- venv1 虛擬環境文件夾的名字 ,自定義
- 激活虛擬環境
- cd /opt/allenv/
- source /opt/allenv/venv1/bin/activate # 通過source命令,讀取激活腳本,激活虛擬環境
- 激活虛擬環境后,檢查以下幾個步驟,是否正確激活
- -命令提示符的變化 (
- venv1) [root@s16ds bin]#
- -環境變量的變化,這就是虛擬環境的原理,修改path
- echo $PATH
- -檢查python3,pip3是否來自於虛擬環境
- which python3
- which pip3
- -檢查虛擬環境是否干凈隔離 pip3 list
- -命令提示符的變化 (
- -退出虛擬環境的命令
- deactivate
- 刪除虛擬環境
- 如果要刪除虛擬環境,只需退出虛擬環境后,刪除對應的虛擬環境目錄即可。不影響其他環境。
- 在虛擬環境地下安裝django
- 練習,分別安裝2個虛擬環境,venv1 venv2,分別運行django1.11.15 和django2.0 ,啟動
確保開發環境的一致性
1.假設我們在本地開發環境,准備好了項目+依賴包環境
2.現在需要將項目上傳至服務器,上線發布
3.那么就要保證服務器的python環境一致性
- 在本地通過命令,導出解釋器的模塊
- pip3 freeze > requirements.txt
- 將這個requirements.txt 文件傳輸到linux服務器上,可以通過 lrzsz
- 在linux服務器當中,創建一個新的虛擬環境 venv3,安裝這個文本,即可一次性解決所有模塊問題
- pip3 install -r requirements.txt
虛擬環境之virtualenvwrapper
virtualenv 的一個最大的缺點就是:
每次開啟虛擬環境之前要去虛擬環境所在目錄下的 bin 目錄下 source 一下 activate,這就需要我們記住每個虛擬環境所在的目錄。
使用virtualenvwrapper
-
安裝virtualenvwrapper
- pip3 install virtualenvwrapper
-
.配置virtualenvwrapper的環境變量,每次開機就啟動
把下面兩行代碼添加到 ~/.bashrc文件中 打開文件 vim ~/.bashrc 寫入以下兩行代碼 export WORKON_HOME=~/Envs #設置virtualenv的統一管理目錄 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的參數,生成干凈隔絕的環境 export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3 #指定python解釋器 source /opt/python36/bin/virtualenvwrapper.sh #執行virtualenvwrapper安裝腳本 讀取文件,使得生效,此時已經可以使用virtalenvwrapper source ~/.bashrc
-
退出當前會話,重新登錄linux
- logout
-
重新登錄,查看是否可以使用virtualenvwrapper
-
基本使用virtualenvwrapper
-
1.創建新的虛擬環境 mkvirtualenv django115 mkvirtualenv django2 2.切換不同的虛擬環境 workon django2 workon django115 3.退出虛擬環境 deactivate 4.刪除虛擬環境,需要先退出虛擬環境 rmvirtualenv django115 5.進入虛擬環境的家目錄 cdsitepackages 6.列舉所有的環境 lsvirtualenv
-