zoukankan      html  css  js  c++  java
  • 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 Filesfeiqmysqlmysql-5.6.45-winx64mysql-5.6.45-winx64sharecharsets 这就是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     #前面执行失败了,才会执行后面的			
    
  • 相关阅读:
    MySQL优化
    右键菜单怎样添加“在此处打开命令提示符”选项
    MemSQL与MySQL不兼容问题总结
    Ubuntu Server 18.04 修改网路配置
    How to Install MemSQL
    Metro UI 菜单(Winform)
    Windows Server 2008 系统设置集合
    推荐个好东西swoole,php如虎添翼
    php的swoole扩展中onclose和onconnect接口不被调用的问题
    关于编程语言(转/收藏)-原文作者:韩天峰(Rango)
  • 原文地址:https://www.cnblogs.com/tangjian219/p/12088291.html
Copyright © 2011-2022 走看看