• 华为云云耀云服务器L实例评测|centos7.9 配置python虚拟环境 运行django



    huawei-logo

    yma16-logo

    ⭐前言

    大家好,我是yma16,本文分享关于华为云云耀云服务器L实例评测|centos7.9配置python虚拟环境 运行django。
    该系列往期文章
    华为云云耀云服务器L实例评测|初始化centos镜像到安装nginx部署前端vue、react项目
    华为云云耀云服务器L实例评测|centos7.9在线使用cloudShell下载rpm解压包安装mysql并开启远程访问
    华为云云耀云服务器L实例评测|centos7.9配置java环境变量安装tomcat 部署war和jar
    python前景
    以下是Python发展趋势:

    1. Python的使用率越来越高:Python是目前最受欢迎的编程语言之一。它被广泛应用于各种领域,例如:数据科学、人工智能、机器学习、Web开发等。

    2. Python的社区正在不断壮大:Python拥有一个庞大的社区,其中有成千上万的开发者积极参与开源项目、提供解决方案和支持。这使得Python成为一个非常活跃的社区,能够不断地提高开发者的技能和知识。

    3. Python的工具和框架越来越多:Python拥有大量的工具和框架,使得开发者可以更快速、更高效地完成项目,从而减少重复性的工作和错误率。

    4. Python对Web开发的支持:Python对Web开发的支持非常好,大量的Web框架,如Django、Flask、Tornado等,使得Web开发变得更加容易和高效。

    5. Python的人工智能和机器学习支持:Python在人工智能和机器学习领域拥有广泛的应用,如TensorFlow、PyTorch等深度学习框架,使得人工智能和机器学习的开发更加便捷和高效。

    6. Python的跨平台特性:Python是一种跨平台语言,可以在不同的操作系统和平台上运行,并且支持多种硬件架构。

    总之,Python具有很强的适应性和灵活性,随着人工智能、机器学习和Web开发的大力发展,Python的未来发展前景非常广阔。
    django是什么
    Django是一个用于Web开发的高级Python Web框架。它遵循MVC(Model-View-Controller)架构模式,使开发者能够轻松地构建高效且易于维护的Web应用程序。Django提供了许多工具和库,简化了Web应用程序的开发和维护过程,包括ORM(对象关系映射),路由,模板引擎和表单处理等。Django还支持可复用的应用程序,使多个Web应用程序之间的代码共享变得更加容易。

    ⭐安装python

    控制台:https://console.huaweicloud.com/ecm/
    华为云云耀服务器选择远程登录进入cloudShell。
    huawei-cloudShell

    选择 python版本下载:https://www.python.org/downloads/

    💖 wget下载

    下载tar包解压

    $ wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
    $ tar -zxvf Python-3.7.6.tgz
    
    • 1
    • 2

    💖 选择安装位置

    创建 /usr/local/python3目录用于安装python3,ln -s 建立软链接(个人理解相当于windows快捷方式)

    $ yum install readline-devel
    $ mkdir -p /usr/local/python3
    $ ./configure --prefix=/usr/local/python3
    $ make && make install
    $ ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
    $ ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装成功,查看python3版本python3 -V
    python-v

    ⭐pip安装虚拟环境

    virtualenv是Python的一个工具,它可以创建独立的Python环境。使用virtualenv可以在同一台计算机上创建多个独立的Python环境,每个环境可以安装不同版本的Python和Python库,避免了不同项目之间Python库之间的版本冲突。这对于Python的开发者来说非常有用。

    💖 pip3安装 virtualenv

    pip3安装 后进行软链接

    $ pip3 install virtualenv
    $ $ ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
    
    • 1
    • 2

    安装成功!
    install

    💖 创建目录存放python虚拟环境

    配置虚拟环境到指定目录/python_virtual,配置pyweb的虚拟python环境

    $ mkdir -p /python_virtual
    $ cd /python_virtual
    $ virtualenv --python=/usr/bin/python3 pyweb
    
    • 1
    • 2
    • 3

    virtual

    进入虚拟环境

    $ cd /python_virtual/pyweb/bin
    $ source activate
    
    • 1
    • 2

    退出虚拟环境

    $ deactivate
    
    • 1

    ⭐安装django

    安装 django

    $pip3 install django
    
    • 1

    💖 指定端口运行django

    虚拟环境下创建django_projects初始化django的mysite项目

    $ mkdir -p /django_projects
    $ cd /django_projects/
    $ django-admin startproject mysite
    $ cd mysite/
    
    • 1
    • 2
    • 3
    • 4

    start-app如果sqlite版本低升级slite
    https://www.sqlite.org/download.html

    $ cd /usr/local/src
    $ wget http://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
    $ tar -zxvf sqlite-autoconf-3360000.tar.gz
    $ cd sqlite-autoconf-3360000
    $ ./configure --prefix=/usr/local/sqlite
    $ make && make install
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    替换版本

    $ mv /usr/bin/sqlite3 /usr/bin/sqlite3_bak
    $ cd /usr/local/sqlite/bin/
    $ ln -s sqlite3 /usr/bin/sqlite3
    $ vim /etc/profile
    #添加内容
    export LD_LIBRARY_PATH="/usr/local/sqlite/lib"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    sqlite
    数据迁移 migrate

    $ python manage.py migrate
    $ python manage.py makemigrations
    
    • 1
    • 2

    migrate
    指定端口运行
    localhost本地运行,改为0可以让局域网访问

    $ python manage.py runserver localhost:8000
    $ python manage.py runserver 0:8000
    
    • 1
    • 2

    运行成功!
    port-server

    nginx proxy_pass代理django
    nginx.conf 代理django服务

    # 代理 django
    location /django-back{
    		proxy_pass http://localhost:8000;
    	}
    
    • 1
    • 2
    • 3
    • 4

    ngin proxy

    💖 远程访问

    远程访问 ip:80/django-back进入django的路由
    router
    日志
    router-path
    因为没有配置路由所以404 not found这是正常现象
    在cloudShell添加路由
    router-url
    url.py

    from django.contrib import admin
    from django.urls import path
    from django.http import JsonResponse
    
    def index(request):
        return JsonResponse({
            'code':200,
            'data':'welcome to django appplication!'
        })
    
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('django-back/', index,name='index'),
    ]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    访问返回json成功,显示

    {
      "code": 200,
      "data": "welcome to django appplication!"
    }
    
    • 1
    • 2
    • 3
    • 4

    http://121.36.66.2/django-back/
    home

    ⭐总结

    pip3 install 安装 慢可以考虑切换镜像
    常用pip镜像

    清华:https://pypi.tuna.tsinghua.edu.cn/simple/
    阿里云:http://mirrors.aliyun.com/pypi/simple/
    中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
    华中科技大学:http://pypi.hustunique.com/simple/
    上海交通大学:https://mirror.sjtu.edu.cn/pypi/web/simple/
    豆瓣:http://pypi.douban.com/simple/

    用法

    $ pip3 install -i 镜像simple网址 --trusted-host 镜像域名 所需要安装的库名
    
    • 1

    django的服务渲染json可以用nginx的proxy_pass抛出去
    python虚拟环境的优势
    虚拟环境是一个隔离的Python环境,可以避免在同一系统上安装的Python包之间发生冲突,从而提供更好的应用程序隔离和开发环境管理。以下是虚拟环境Python的好处:

    1. 防止Python软件包之间的冲突,保持Python环境的干净和整洁。

    2. 在多个项目之间使用不同版本的Python包,而不影响其他项目的运行。

    3. 安装新的Python包或更新现有的Python包时,不会影响全局Python环境。

    4. 方便Python开发人员共享环境,尤其是在团队合作中。

    5. 快速清理虚拟环境,可以方便地卸载虚拟环境中安装的软件包,以节省磁盘空间。

    虚拟环境可以使用Python内置的venv模块创建,也可以使用第三方工具如Conda、virtualenv和Pipenv创建。

    华为云云耀云服务器L实例搭建过程资源消耗
    查看控制台,cpu的使用率也非常低,说明配置python django对服务器损耗很少。
    console-data
    态势感知服务器的运行状态,十分直观,一目了然。

    ⭐结束

    本文分享到这结束,如有错误或者不足之处欢迎指出!
    earth

    👍 点赞,是我创作的动力!
    ⭐️ 收藏,是我努力的方向!
    ✏️ 评论,是我进步的财富!
    💖 最后,感谢你的阅读!

  • 相关阅读:
    [Django学习]查询过滤器(lookup types)
    CSS 清除浮动
    我与程序有个约会
    Java基础篇——面向对象大纲梳理总结
    Spring Bean 生命周期
    C语言的const函数修饰指针
    proxy 代理对象 set get delete has ownkeys
    自动化测试面试题解析,半小时通透
    二线城市年薪30W+,疫情之下涨薪超过100%,是怎么做到的?
    Dubbo-admin
  • 原文地址:https://blog.csdn.net/qq_38870145/article/details/133238305