linux--python3安裝以及虛擬環境配置

linux下python3的編譯安裝以及項目運行

普通版安裝編譯python3並運行項目

最好指定目錄進行操做
1.解決系統的基礎開發工具,防止python3編譯過程出錯
    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.獲取python3的源代碼,去官網下載便可
先cd 到opt下
    wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz

3.解壓縮源代碼包,進入源碼包
    xz -d  Python-3.6.7.tar.xz  #去掉.xz壓縮後綴
    tar -zxvf Python-3.6.7.tar  #解壓縮 tar xvJf  Python-3.6.7.tgz 
    cd Python-3.6.7

4.編譯三部曲,幾乎全部的linux軟件,編譯安裝都是這個步驟,nginx,redis都是這樣
    第一曲:指定安裝路徑
        執行configure腳本文件 ,指定軟件的安裝路徑
            ./configure --prefix=/opt/python367/

    第二曲:編譯源代碼
        指定make指令 ,針對當前文件夾下的makefile開始讀取
        輸入 make 便可 
        
    第三曲:開始安裝
        這一步纔是生成解釋器的步驟
        make install 

5.配置PATH環境變量,讓命令能夠快捷執行
    取出當前PATH的值
    注意!!!!!PATH的值是自上而下,從前日後的讀取順序,這裏要和虛擬環境配置有關了
    echo $PATH 
    
    把python3的路徑,放到最前面,由於虛擬環境的建立的時候,可能會有坑,
    PATH的加載順序是自上而下的
    [root@linux bin]# echo  $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    修改PATH的值,永久修改,寫入到/etc/profile ,每次用戶登陸都加載這個文件,所以變量永久生效

    vim  /etc/profile  在最底行,寫入以下信息
    PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
#PATH的組成部分:1. 第一個冒號前:安裝的python3下的bin目錄  2.第二個冒號後:echo  $PATH的執行結果
        
    讀取/etc/profile  #讓他永久生效 
    命令: source  /etc/profile  #用source命令,去讀這個文件 內容,讓變量生效 

6.上傳crm代碼到linux
    xftp6軟件直接上傳到linux服務器
    或能夠用xftp或者壓縮文件後,用lrzsz 

7.解決crm運行的模塊依賴
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple  django==1.11.23 
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple  pymysql 
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple  django-multiselectfield
    ......
    
8.安裝mariadb 
    rpm手動安裝,很噁心,解決以來關係
    
    源代碼編譯安裝(指定安裝路徑,能夠自由選擇最新的軟件版本,能夠擴展第三方高級的功能)
    yum安裝方便,自動解決依賴(安裝路徑默認,軟件倉庫版本可能太低)
    
        yum install  mariadb-server  mariadb  -y  

    經過yum安裝的軟件,均可以經過systemctl 去管理
    
        systemctl  start  mariadb   #啓動mariadb
        systemctl  stop  mariadb    #關閉mariadb
        systemctl  restart  mariadb  #重啓mariadb
    

9.導出windows的crm數據,傳遞給linux進行導入
    1.先進入cmd
    2.輸入mysql
    3.執行 show variables like "%char%";  #character_sets_dir D:\Program Files\feiq\mysql\mysql-5.6.45-winx64\mysql-5.6.45-winx64\share\charsets\ 這就是mysql安裝路徑
    4.先找到mysql的安裝路徑,進入mysql下的bin目錄,bin目錄下打開cmd,執行下面命令
    5.mysqldump -u root -p   crm  >  crm.sql  #指定數據庫導出的命令

10。傳輸ignb.sql文件到linux後,進行數據導入
    1.數據庫導入
        方式1:  命令形式導入 
            得先建立好數據庫 
            1.systemctl start mariadb  #啓動mariadb,可能用,
            2.mysql #進入mysql
            3.create database  crm; #建庫
            4.指定數據庫導入數據
              mysql -uroot -p  crm  <  crm.sql 

        方式2:交互式終端的導入數據
            create database  ignb;
            use ignb ;
            source /opt/ignb.sql ;  
       #方式一不行用方式二,能用哪一個用哪一個
    
    2.數據庫配置
        1.進入項目的settings.py
        2.執行 vim settings.py
        3.ALLOWED_HOSTS = ['*'] # * 表明 容許全部主機訪問,能夠設置一些地址進行限制
          DATABASES = {
                'default': {
                    'ENGINE': 'django.db.backends.mysql',
                    'NAME': 'crm', #在以前建立的數據庫名字不要錯
                    'PORT':3306,
                    'HOST':'0.0.0.0', #改爲這個,正常運行數據庫的服務器地址
                    'USER':'root',
                    'PASSWORD':'' # 密碼能夠設置爲空,也能夠設置一個密碼
                        }
                    }

11.啓動crm項目
    #啓動前關閉防火牆
            1:查看防火狀態
                systemctl status firewalld
                service  iptables status

            2:暫時關閉防火牆
                systemctl stop firewalld
                service  iptables stop

            3:永久關閉防火牆
                systemctl disable firewalld
                chkconfig iptables off

            4:重啓防火牆
                systemctl enable firewalld
                service iptables restart  

    python3 manage.py runserver 0.0.0.0:8000
    # 可能或報下面數據庫方面的錯
    You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
    
    解決:執行 python3 manage.py migrate

虛擬環境下安裝編譯python3並運行項目

python的虛擬環境其實就是多個python解釋器而已,不會影響操做系統

# linux虛擬環境啓動代碼發佈
1.用virtualenvwrapper工具分別啓動兩個python項目
    1.得先編譯安裝python3
        https://www.cnblogs.com/pyyu/p/7402145.html #能夠參考博客
    
    2.安裝編譯所需的開發環境
        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
    
    
    3.下載python3的源代碼 
        wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
    
    4.對源代碼解壓縮 
        [root@root_linux ]# tar  -zxvf  Python-3.6.7.tgz 
        或者tar xvJf  Python-3.6.7.tgz 
        
    5.切換進入源碼
        cd Python-3.6.7

    6.開始編譯三部曲了
        第一曲:指定軟件安裝位置
            # 新建了mypro文件
            [root@root_linux Python-3.6.7]
             # ./configure --prefix=/opt/python367/
                
        第二曲:開始編譯 
                make 
                
        第三曲:編譯安裝,生成最終的可使用的python3.6.7的解釋器
                make install 
    
    7.配置PATH環境變量,能夠直接輸入python3就進入/mypro/python367/bin/python3
        向要永久生效,配置環境變量,編輯/etc/profile 文件,開機就會讀取這個文件中的全部變量定義
        vim  /etc/profile  
        
        寫入PATH變量的值修改
        PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
    
    8.退出回話,從新登陸linux,便可加載新的PATH
    
    9.安裝virtualenvwrapper工具 
         pip3 install -i https://pypi.douban.com/simple   virtualenvwrapper 
    
    10.升級pip3版本命令
        pip3  install --upgrade pip 
    
    11.配置環境變量,加載虛擬環境工具
        vim /etc/profile 
     
        WORKON_HOME=~/Envs   #設置virtualenv的統一管理目錄
        VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'    #添加virtualenvwrapper的參數,生成乾淨隔絕的環境
        VIRTUALENVWRAPPER_PYTHON=/opt/python367/bin/python3      #指定python解釋器
        source /opt/python367/bin/virtualenvwrapper.sh           #執行virtualenvwrapper安裝腳本
        
    12.從新登陸後,生效配置
        exit
    
    13.使用虛擬環境命令,建立新的虛擬環境用於運行項目
        [root@root_linux ~]# mkvirtualenv  mypro666
        [root@root_linux ~]# mkvirtualenv  mypro888
    
    14.能夠用workon命令切換不一樣的虛擬環境 
    
    15.上傳本地開發好的代碼,到linux服務器上,安裝lrzsz傳輸工具,用於windows和linux傳遞文件
        yum install lrzsz -y 
        
    16.壓縮windows環境開發的代碼,傳遞至服務器
        rz  #直接輸入此命令,接受windows的代碼
        
    16.安裝項目運行所需的全部模塊
        1.導出windows的模塊
            pip3 freeze  >  requirements.txt  
            
        2.在linux 上安裝此文件,自動讀取文件中全部的模塊版本信息
            pip3 install -r requirements.txt
            
        3.也能夠用土方法,解決環境依賴問題
            能夠用python3 manage.py runserver 0.0.0.0:9000,調試代碼,看須要哪些模塊,若是報錯哪一個模塊沒有就下載哪一個模塊
                
            pip3 install -i https://pypi.douban.com/simple  django==1.11.23 
            pip3 install -i https://pypi.douban.com/simple  pymysql
            pip3 install -i https://pypi.douban.com/simple  django-multiselectfield

    17.解決數據庫問題,啓動數據庫
        yum install mariadb-server  mariadb  -y  #安裝數據庫
        systemctl start mariadb  #啓動數據庫 
    
    18.檢查mysql是否啓動
        查進程:ps   -ef  |grep  mysql
            
        查端口:
            (mypro888) [root@root_linux IGnb]# netstat -tunlp  |grep   3306
            tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      27687/mysqld     
                    
        查看mariadb數據庫的服務狀態:systemctl status  mariadb
            
        
    19.嘗試再次啓動項目,是否正常
        可能還會碰見密碼不一致的問題,須要修改settings.py  

        linux的ip地址:192.168.16.85    127.0.0.1    0.0.0.0(綁定這臺機器全部的ip地址)
        存在多個網卡
        windows的ip地址:192.168.16.64    127.0.0.1    0.0.0.0   

    20.修改django的配置文件settings.py修改  ALLOW_HOSTS=['*']

    21.啓動django程序
        python3 manage.py runserver 0.0.0.0:8000

    22.運行bighg項目,上傳bighg代碼到linux服務器,解決項目運行所需的依賴
        pip3 install -i  https://pypi.tuna.tsinghua.edu.cn/simple  django==1.11.23
        python3 manage.py runserver
        pip3 install -i  https://pypi.tuna.tsinghua.edu.cn/simple  channels
        python3 manage.py runserver
        pip3 install -i  https://pypi.tuna.tsinghua.edu.cn/simple gitpython
        pip3 install -i  https://pypi.tuna.tsinghua.edu.cn/simple paramiko

    23.在linux上安裝git
        yum install git -y 
    
    24.再次運行項目,代碼發佈啓動
        python3 manage.py runserver 0.0.0.0:9000

            
make &&   make install   #前面正確執行了,沒報錯,後面正常執行
make || make install     #前面執行失敗了,纔會執行後面的
相關文章
相關標籤/搜索