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

news2024/11/24 16:50:26

文章目录

    • ⭐前言
    • ⭐安装python
      • 💖 wget下载
      • 💖 选择安装位置
    • ⭐pip安装虚拟环境
      • 💖 pip3安装 virtualenv
      • 💖 创建目录存放python虚拟环境
    • ⭐安装django
      • 💖 指定端口运行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

💖 选择安装位置

创建 /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

安装成功,查看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

安装成功!
install

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

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

$ mkdir -p /python_virtual
$ cd /python_virtual
$ virtualenv --python=/usr/bin/python3 pyweb

virtual

进入虚拟环境

$ cd /python_virtual/pyweb/bin
$ source activate

退出虚拟环境

$ deactivate

⭐安装django

安装 django

$pip3 install django

💖 指定端口运行django

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

$ mkdir -p /django_projects
$ cd /django_projects/
$ django-admin startproject mysite
$ cd mysite/

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

替换版本

$ 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"

sqlite
数据迁移 migrate

$ python manage.py migrate
$ python manage.py makemigrations

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

$ python manage.py runserver localhost:8000
$ python manage.py runserver 0:8000

运行成功!
port-server

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

# 代理 django
location /django-back{
		proxy_pass http://localhost:8000;
	}

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'),
]

访问返回json成功,显示

{
  "code": 200,
  "data": "welcome to django appplication!"
}

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 镜像域名 所需要安装的库名

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1036949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STL函数对象和谓词

目录 函数对象 谓词 函数对象 概念: 重载函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数 本质: 函数对象(仿函数)是一个类,不是一个函数 特点: …

Linux进程创建、进程终止、进程等待、进程程序替换

目录 进程创建fork函数fork函数返回值fork创建子进程的目的之一fork调用失败的原因写实拷贝 进程终止进程执行结果进程退出码进程终止的理解进程的退出方式 进程等待进程等待的必要性进程等待的概念wait方法获取子进程status 进程程序替换替换原理替换函数函数解释命名理解单进…

深度学习自学笔记六:深层神经网络

一、深层神经网络概述 深层神经网络(Deep Neural Networks,DNN)是一种机器学习模型,由多个神经网络层组成。与传统的浅层神经网络相比,深层神经网络具有更多的隐藏层,使其能够进行更复杂、更抽象的特征学习…

【07】FISCOBCOS一键部署前的准备工作ubuntu安装,mysql,python,PyMySQL,java

官方文档最下面https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE/install.html JAVA已经安装好了,可以看控制台那篇文章【03】 安装mysql 下载并解压mysql sudo apt install -y mysql-server mysql-client libmysqlclient-dev安装 MySQL 服务器、MySQL 客户端和…

【C/C++笔试练习】——printf在使用%的注意事项、for循环语句的三个条件、运算符优先级、删除公共字符

文章目录 C/C笔试练习1.%符号在printf用作格式说明符的注意事项(1)输出%5.3s(2)判断%中小数点含义 2.for循环语句的三个条件(3)判断循环次数(4)判断循环次数 3.运算符优先级&#xf…

交换奇偶位:交换一个整数的二进制的奇偶位置(仅考虑正数情况)

方法二: 设计思想: 0xAAAAAAAA 的二进制表示为 10101010...(从最低位开始) 0x55555555 的二进制表示为 01010101...(从最低位开始) 问题:更加想不到掩码!!&#xf…

JVM——11.JVM小结

这篇文章我们来小结一下JVM JVM,即java虚拟机,是java代码运行时的环境。我们从底层往上层来说,分别是硬件部分,操作系统,JVM,jre,JDK,java代码。JVM是直接与操作系统打交道的。JVM也…

数据结构:二叉树的基本概念

文章目录 1. 二叉树的定义2. 二叉树的特点3. 特殊二叉树斜树满二叉树完全二叉树 4. 二叉树的性质 1. 二叉树的定义 如果我们猜一个100以内的数字,该怎么猜才能理论最快呢? 第一种方式:从1,2一直猜到100, 反正数字都是100以内,总能猜到的 第二种方式:先猜50,如果比结果小,猜75…

【WPF】填坑 - WindowChrome 自定义窗口完美实现

【WPF】填坑 - WindowChrome 自定义窗口完美实现 概述Demo 说明基本样式资源布局ShellView Style界面元素修正Command BindingCommand 实现 效果 概述 前面写过一篇关于在 WPF 中通过对 WindowChrome 的操作实现自定义窗口并保留一部分的系统功能。 【WPF】WindowChrome 自定义…

虚幻4学习笔记(13)用户UI 交互动画、制作2D UI、制作3D UI

虚幻4学习笔记 制作2D UIUI 主菜单制作UI动画 和 暂停游戏 制作3D UI B站UP谌嘉诚课程:https://www.bilibili.com/video/BV164411Y732 制作2D UI 导入图片 新建 用户界面-控件蓝图 双击打开 拖入image 参数设置 SizeX1920 SizeY1080 选择对焦居中点 右下角平铺 参…

【Acwing1027】方格取数(动态规划)题解

题目描述 思路分析 错误思路: 贪心法,先走一次求出最大值,把走过的路上面的数值清零,然后用同样的方法再走一遍求最大值,然后让这两个最大值相加就是最后的结果。 很多人在看到这个题目的时候会有上面的思路&#x…

微信小程序开发学习

模板与绑定 1.数据绑定 1)在data中定义数据 在页面对应的.js文件中把数据定义到data对象中即可 2)在WXML中使用数据 把data中的数据绑定到页面中渲染,使用Mustache(双大括号{{}})将变量名包起来即可,格式…

AHK c++ 禁用鼠标设备实现完美息屏(不是休眠)

如何实现完美息屏呢?虽然可以用ahk实现息屏,但桌子一晃动,鼠标稍微偏移一下,又亮了,导致息屏无效! win10 更新了设备管理器,现在可以禁用鼠标设备了。以前这里是灰色的。 c 禁用鼠标 那么&…

第二章 进程与线程 十七、用信号量实现进程互斥、进程同步、进程的前驱关系

一、实现进程互斥 1、过程 (1)分析并发进程的关键活动,划定临界区(如:对临界资源打印机的访问就应放在临界区) (2)设置互斥信号量mutex,初值为1 (3)在进入区P(mutex)…

网工基础知识——以太网

1972年Bob Metcalfe“以太网之父”被Xerox雇佣为网络专家,Bob Metcalfe 来到Xerox公司的Palo Alto研究中心(PARC)的第一个任务是把Palo Alto的计算机连接到ARPANET(Internet的前身)上。1972年底Bob Metcalfe以ALOHA系统…

基于OSATE环境的AADL项目——简单的项目构建与分析示例

一、背景 本文描述了一个非常简单的AADL项目的构建,以及一个示例项目的分析过程。本文主要记录了OSATE工具环境的一些基本操作,适用于刚刚了解OSATE之后,对于整个工具环境无从下手的小白。 因为基于OSATE环境的AADL项目的构建和分析的详细示…

VRRP DHCP ACL NAT 网络核心路由技术综述 (第十课)

VRRP DHCP ACL NAT 网络核心技术综述 (第十课) 六大路由基础技术 简单的利用思维导图回顾 1 浮动路由 2 VRRP 技术==>目的是备份网关

2023-09-20 LeetCode每日一题(拿硬币)

2023-09-20每日一题 一、题目编号 LCP 06. 拿硬币二、题目链接 点击跳转到题目位置 三、题目描述 桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。 示…

Lnmp架构之mysql数据库实战2

4、mysql组复制集群 一主多从的请求通常是读的请求高于写 ,但是如果写的请求很高,要求每个节点都可以进行读写,这时分布式必须通过(多组模式)集群的方式进行横向扩容。 组复制对节点的数据一致性要求非常高&#xff…

Python多重继承

前面介绍的大部分的继承都是单继承,既一个子类只有一个父类,但是Python也支持多重继承,即一个子类可以有多个父类。多继承有复杂的父类冲突问题,大部分的面向对象语言都仅仅支持单继承,Python是为数不多支持多继承的语…