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     #前面执行失败了,才会执行后面的			
posted @ 2019-12-24 10:03  corei5tj  阅读(1210)  评论(0编辑  收藏  举报