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     #前面執行失敗了,才會執行后面的			


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM