• centos7 进行Python3.9 Django3项目迁移启动asgi


    前奏:centos7中文乱码解决

    如果新服务器ssh登录时可能中文显示乱码,,解决方案:

    # 可以使用下面的命名查看系统是否安装了中文安装包。
    [root@iz2ze6z /]# locale -a |grep "zh_CN"
    
    zh_CN
    zh_CN.gb18030
    zh_CN.gb2312
    zh_CN.gbk
    zh_CN.utf8
    # 如果有显示上面信息则代表已经安装,跳过本步骤,如果没有安装,则先安装
    [root@iz2ze6z /]#yum groupinstall "fonts" -y
    # 先看看当前系统语言环境:
    [root@iz2ze6z /]# locale
    
    LANG=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=
    # 可以看到虽然安装了中文语言包但本机的语言环境并不是中文,需要修改locale.conf配置文件,建议使用命令修改
    [root@iz2ze6z /]# localectl set-locale LANG=zh_CN
    # 重启配置文件使其生效,或者reboot
    [root@iz2ze6z /]# source /etc/locale.conf  
    # 输入date验证一下
    [root@iz2ze6z /]# date
    2022年 08月 14日 星期日 15:04:20 CST
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    一、安装python3.9

    1.1安装依赖

    并非都需要安装依赖,一般centos7已经安装有python2.7和python3.6可能已经安装过依赖,则跳过此步骤。

    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc
    
    • 1

    1.2 删除附带的2.7或其他版本

    **骗你的!!!!!!!!千万不要这么粗暴,否则你会发现yum不好用了,yum使用python2.7写的,删除2.7后yum会各种报错!!!**对于centos系统自带python2.7,我们安装好python3后做个默认启动就行,或者分别创建连接到 /usr/bin/ 目录下,也可以在创建虚拟环境时指定python版本。

    #  强制删除已安装python及其关联
    rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps 
    #  删除残余文件
    whereis python|xargs rm -frv
    
    • 1
    • 2
    • 3
    • 4

    如果你已经不小心删除了,那么参考下面的博客恢复yum 吧:
    链接: https://blog.csdn.net/Tracy_Yuan2014/article/details/110731673

    1.2 下载python并安装

    wget https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tgz 
    tar xzf Python-3.9.10.tgz 
    cd Python-3.9.10 
    sudo ./configure --enable-optimizations 
    sudo make altinstall   # 安装,或者 make && make install
    python3.9 -V  
    # 添加python3.9和pip3.9软连接,如果不把软连接添加到 /usr/bin/ 在命令窗口直接输入python不会启动
    ln -s /usr/local/bin/python3.9 /usr/bin/python
    ln -s /usr/local/bin/pip3.9 /usr/bin/pip
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    至此python安装完毕

    二、安装虚拟环境

    2.1 使用pip安装virtualenv和 virtualenvwrapper

    pip install virtualenv
    pip install virtualenvwrapper
    
    • 1
    • 2

    上面安装如果权限不够就加上sudo

    2.2 修改配置文件.bashrc

    2.2.1查找virtualenvwrapper.sh所在的路径

    注意:必须有.sh否则查到出来的路径不正确,找到安装路径记录下来,下一步写进系统配置文件.bashrc

    sudo find / -name virtualenvwrapper.sh   # 查找目录并记录
    vim ~/.bashrc  # 配置文件默认在~/下的隐藏文件,按i开始写
       # 注意写对你的目录
    export WORKON_HOME=$HOME/.virtualenvs   #  创建一个存放虚拟环境的目录 (可以自己定义)
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python  # 指定默认使用的python
    export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
    source /usr/local/bin/virtualenvwrapper.sh   # virtualenvwrapper.sh的位置
    #  修改完后按Esc键,输入“:wq!”回车退出
    source ~/.bashrc  # 修改完成一定要激活更新配置,同时可以激活一下:source /usr/local/bin/virtualenvwrapper.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述
    注意:export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python 这个最好写上,centos自带有python2.7和其他python版本,那么你必须指定虚拟环境使用的python版本,否则可能指向你其他的python版本。

    2.3创建和管理虚拟环境

    mkvirtualenv -p python 虚拟环境名称   # 创建虚拟环境并指定python,mkvirtualenv 虚拟环境名 -p python
    workon  # 查看虚拟环境
    workon 虚拟环境名   # 进入虚拟环境
    deactivate  # 退出虚拟环境
    rmvirtualenv  虚拟环境名   # 删除虚拟环境名
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注意,如果遇到创建虚拟环境报错,原因可能是virtualenv依赖包被安装在默认Python目录下,需要做个软连接到/usr/bin/virtualenv
    sudo ln -s /usr/local/bin/virtualenvwrapper.sh /usr/bin/virtualenvwrapper

    三、迁移项目

    3.1导出requirements.txt 方法一

    开发电脑虚拟环境下,输入:

    pip freeze > requirements.txt
    
    • 1

    3.2 导出requirements.txt 方法二

    使用pipreqs导出requirements.txt,优点是只导出当前环境使用的依赖包,与方法一先进入虚拟环境再导出效果相近,但有指定编码格式的功能。

    # 安装
    python3 -m pip install pipreqs
    # 在当前目录生成
    pipreqs . --encoding=utf8 --force
    
    • 1
    • 2
    • 3
    • 4

    3.3 导入requirements.txt

    把生成的requirements.txt复制到服务器,ssh登录服务器,进入刚创建的虚拟环境,输入:

    pip install -r requirements.txt
    
    • 1
  • 相关阅读:
    python实操-----图书管理系统
    无需搭建环境,零门槛带你体验Open-Sora文生视频应用
    Modbus通信协议
    【hnu暑学期】数据库系统设计 准备阶段
    分布式计算平台
    node---模块
    厚膜功率电阻器制造:优化性能
    关于std::vector<std::string>的操作
    2023年终总结:为何我们总想把时间填满
    SwiftUI 组件之如何实现电话号码掩码隐藏部分的文本字段TextField(教程含源码)
  • 原文地址:https://blog.csdn.net/wuwei_201/article/details/126329892