当前位置: 移动技术网 > IT编程>脚本编程>Python > linux--python3安装以及虚拟环境配置

linux--python3安装以及虚拟环境配置

2019年12月24日  | 移动技术网IT编程  | 我要评论

都市风水师2txt,晨脂,能不能空腹喝牛奶

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     #前面执行失败了,才会执行后面的           

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网