18 Linux之Python定制篇-Python开发平台Ubuntu
18 Linux之Python定制篇-Python开发平台Ubuntu
文章目录
- 18 Linux之Python定制篇-Python开发平台Ubuntu
- 18.1 安装Ubuntu虚拟机
- 18.4 Ubuntu的root用户
- 18.5 Ubuntu下开发Python
- 学习视频来自于B站【小白入门 通俗易懂】2021韩顺平 一周学会Linux。
- 可能会用到的资料有如下所示,下载链接见文末:
- 《鸟哥的Linux私房菜 基础学习篇 第四版》1
- 《鸟哥的Linux私房菜 服务器架设篇 第三版》2
- 《韩顺平_2021图解Linux全面升级》3
18.1 安装Ubuntu虚拟机
在之前“Linux入门”一章中提到,Linux有各种各样的发行版,其中一个应用最广泛的发行版之一就是Ubuntu。Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,支持x86、amd64 (即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造。因为专业的Python开发者一般会选择Ubuntu这款Linux系统作为生产平台,并且Ubuntu的桌面非常漂亮,所以我们要学习如何使用Ubuntu平台。Ubuntu和CentOS都是基于GNU/Linux内核的,因此基本使用和Centos是几乎一样的,它们的各种指令可以通用,同学们在学习和使用Ubuntu的过程中,会发现各种操作指令在前面学习CentOS都使用过。只是界面和预安装的软件有所差别。
Ubuntu的安装要比CentOS简单很多,为节省篇幅,具体安装过程可以查看我的CSDN博文“辅助笔记-安装Ubantu20.04.1虚拟机”,这里就不再赘述。
18.4 Ubuntu的root用户
安装ubuntu成功后,默认情况下时无法登root用户的,都是普通用户权限,并没有最高root权限。如果需要使用root权限时(比如切换系统镜像源),有下面两种方法:
- 方法一【最常用】:在命令前面加上
sudo。但有时候会一直进行root权限操作,每条指令都加上sudo会感觉很麻烦。- 方法二:首先设置root用户密码,然后在终端使用
su命令直接切换到root用户。下面来一次演示这两种方法。
方法一:在命令前面加上sudo
下面直接给出终端的演示实例(在Ubuntu桌面右键选择“终端”):
# 直接查看磁盘使用情况,权限不够
lyl@ubuntu:~/桌面$ fdisk -l
fdisk: 打不开 /dev/loop0: 权限不够
fdisk: 打不开 /dev/loop1: 权限不够
fdisk: 打不开 /dev/loop2: 权限不够
fdisk: 打不开 /dev/loop3: 权限不够
fdisk: 打不开 /dev/loop4: 权限不够
fdisk: 打不开 /dev/loop5: 权限不够
fdisk: 打不开 /dev/loop6: 权限不够
fdisk: 打不开 /dev/loop7: 权限不够
fdisk: 打不开 /dev/sda: 权限不够
fdisk: 打不开 /dev/loop10: 权限不够
fdisk: 打不开 /dev/loop9: 权限不够
fdisk: 打不开 /dev/loop8: 权限不够
fdisk: 打不开 /dev/loop11: 权限不够# 在指令前加上sudo即可查看
lyl@ubuntu:~/桌面$ sudo fdisk -l
[sudo] lyl 的密码:
Disk /dev/loop0:4 KiB,4096 字节,8 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
# 关于磁盘的更多内容略
方法二:使用su命令直接切换到root用户
我们一般使用su命令来直接切换到root用户的,但是如果没有给root设置初始密码,就会抛出su : Authentication failure这样的问题。所以,我们需要首先给root用户设置一个初始密码:
# 1. 设定root用户密码
sudo passwd
# 2. 切换成root用户
su root
# 3. 退出root并返回一般用户
exit
下面是终端演示实例:
lyl@ubuntu:~/桌面$ sudo passwd # 1. 设定root用户密码
[sudo] lyl 的密码:
新的 密码:
重新输入新的 密码:
passwd:已成功更新密码lyl@ubuntu:~/桌面$ su root # 2. 切换成root用户
密码: root@ubuntu:/home/lyl/桌面# fdisk -l
Disk /dev/loop0:4 KiB,4096 字节,8 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
# 关于磁盘的更多内容略
# 可以看到,已经切换到root用户,可以直接使用root权限指令了。
root@ubuntu:/home/lyl/桌面# exit # 3. 退出root并返回一般用户
exit
lyl@ubuntu:~/桌面$
【细节】终端的提示符:提示符
$代表一般用户,提示符#代表root用户。
18.5 Ubuntu下开发Python
之前提到,专业的Python开发者会选择Ubuntu作为开发平台。所以当Ubuntu安装好后,默认就已经安装好了Python的开发环境。可以使用python3来查看当前安装的python版本:
lyl@ubuntu:~/桌面$ python3
Python 3.8.2 (default, Jul 16 2020, 14:00:26)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
下面展示一个应用案例:
【案例1】在Ubuntu下开发一个Python的“Hello,Python!”程序。
lyl@ubuntu:~/桌面$ vi hello.py # 1. 编写hello.py
###############################
# vi编辑器输入i进入编辑模式,可以复制下面的代码,也可以自己敲:
# 注意:vi新手先不要使用方向键、backspace等,自己敲一定要逐个字符敲对!
print("hello,python!")
###############################
lyl@ubuntu:~/桌面$ python3 hello.py # 2. 运行hello.py
hello,python!
注:Ubuntu预装的是vim tiny版本,默认情况下vi输入方向键会变成
ABCD,解决方法可以参考“ubuntu下vi输入方向键会变成ABCD的解决方法”。后面会安装Vim编辑器,所以这个案例可以先将就一下。
《鸟哥的Linux私房菜 基础学习篇 第四版》 ↩︎
《鸟哥的Linux私房菜 服务器架设篇 第三版》 ↩︎
《韩顺平_2021图解Linux全面升级》 ↩︎
相关文章:
18 Linux之Python定制篇-Python开发平台Ubuntu
18 Linux之Python定制篇-Python开发平台Ubuntu 文章目录 18 Linux之Python定制篇-Python开发平台Ubuntu18.1 安装Ubuntu虚拟机18.4 Ubuntu的root用户18.5 Ubuntu下开发Python 学习视频来自于B站【小白入门 通俗易懂】2021韩顺平 一周学会Linux。可能会用到的资料有如下所示&…...
AMEYA360:士兰微推出600A/1200V IGBT汽车驱动模块,提升充电速度与行驶动力
随着人们对环保意识的提高和汽车驾驶体验感的不断追求,新能源汽车的市场需求逐渐增大,已然成为汽车发展的大趋势,但是新能源汽车充电时间长、续航里程短等问题仍然是汽车厂商和车主们的痛点。因此,需要更好的汽车驱动产品来实现“…...
【Linux】Epoll Reactor【反应堆】模式的工作流程
Reactor模式的工作流程 主线程往epoll内核事件表中注册socket上的就绪事件。主线程调用epoll_wait等待socket上有数据可读。当socket上有数据可读时,epoll_wait通知主线程。主线程将socket可读事件放入请求队列。睡眠在请求队列上的某个工作线程被唤醒,…...
Php“梦寻”淘宝天猫商品详情数据接口,淘宝商品详情数据API接口,淘宝API接口申请指南(含代码示例)
淘宝商品详情接口 API 是开放平台提供的一种 API 接口,它可以帮助开发者获取淘宝商品的详细信息,包括商品的标题、描述、图片等信息。在淘宝电商平台的开发中,淘宝详情接口 API 是非常常用的 API,因此本文将详细介绍淘宝详情接口 …...
驱动轴相机参数设置Web前端界面开发
一、基于Django的Web应用界面的开发: 在Realtimeresults.html上添加一个按钮组件,获取检测到的轴型和车轮信息,点击后可以获取package.json里存放的json数据,效果如下: 实现逻辑:需要从URL设置、视图函数、…...
论文简读 LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS
论文地址:https://arxiv.org/pdf/2106.09685.pdf 项目地址:https://github.com/microsoft/LoRA 全文翻译地址:https://zhuanlan.zhihu.com/p/611557340 本来想自行翻译的,但最近没有空 1、关键凝练 1.1 LORA是什么? …...
23062网络编程day7
网络聊天室编写(基于UDP) 服务器 #include <myhead.h>#define PORT 8888 //端口号:接收方绑定的端口号 #define IP "192.168.114.56" //本机IP#define ERR_MSG(msg) do{\fprintf(stderr, "__%d__:&…...
Java面向对象学习笔记-2
前言 本文介绍了Java中类的定义和对象的创建的基本概念。我们通过示例代码演示了如何定义不同类型的类,包括管理员信息、顾客信息、学校信息和访客信息,并展示了如何创建这些类的对象以及如何访问它们的属性和方法。这些示例有助于理解面向对象编程的基…...
入栏需看——学习记忆
记忆方法千千种,本栏意在梳理其中道道来,旦有小得,肥肠幸耶。从不同角度分析学习记忆。 逻辑篇 有逻辑 用思维导图 思维导图记忆有逻辑的文本/内容 理论 巧记书本结构–思维导图 模仿 HCIE-Cloud Computing LAB备考第一步:…...
[C++]杨辉三角
目录 题目 解题思路 代码实现 获取数字 打印函数 主函数 全部代码 运行结果 题目 给定一个非负整数numRows ,生成「杨辉三角」的前numRows行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 解题思路 第k列的第i个数字的值第k-1列的(…...
算法通关村十三关-白银:数字与数学高频问题
有很多解题技巧,需要持续积累 1.数组实现加法专题 如果让你用数组来表示一个数,如何实现加法呢? 理论上仍然从数组末尾向前挨着计算就行了,但是实现的时候会发现很多问题,例如需要进位该怎么办? 进一步拓…...
【Linux】线程安全-互斥同步
文章目录 线程安全问题的引入线程互斥互斥概念互斥锁互斥锁的计数器当中如何保证原子性互斥锁基础API初始化互斥锁变量函数动态初始化静态初始化 加锁函数阻塞加锁非阻塞加锁带有超时时间的加锁 解锁函数销毁互斥锁函数 线程同步线程同步的必要性条件变量条件变量的使用原理条件…...
1.初识爬虫
爬虫是批量模拟网络请求的程序,想百度谷歌这种搜索类网站本质上就是爬虫 使用爬虫的时候不应该对别人的网站有严重的影响,比如你爬的频率太高了,让人家的网站崩溃了。不应该爬取网页上显示不到的内容,比如有一个直播的网站&#…...
TLA+学习记录1——hello world
0x01 TLA是个好工具 编程人员一个好习惯是凡事都想偷懒,当然是指要科学地偷懒,而不是真的偷懒。一直想找到一种能检验写出的代码,做出的设计是否真的完全正确,而不是靠经验检视、代码Review、反复测试去检验。因为上述方法不管怎…...
基于QWebEngine实现无头浏览器
无头浏览器 无头浏览器(Headless Browser)是一种没有图形用户界面(GUI)的浏览器。它通过在内存中渲染页面,然后将结果发送回请求它的用户或程序来实现对网页的访问,而不会在屏幕上显示网页。这种方式使得无…...
编译Micropython固件For树莓派Raspberry Pi Pico
1. 前言 由于想把自己编写的py文件打包的固件中,所以记录下如何编译micropython固件和打包。 2. 编译 最简单的方式就是在你的树莓派上进行,我用的是RP Pi2 下载所需文件: $ cd ~/ $ mkdir pico $ cd pico $ git clone -b pico https://gi…...
基于googlenet网络的动物种类识别算法matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ................................................................. % 获取输入层的尺寸 Inp…...
如何用Jmeter编写脚本压测?
随着商业业务不断扩张,调用adsearch服务频率越来越高,所以这次想做个压测,了解目前多少并发量可以到达adsearch服务的界值。 这次选用的jmeter压测工具,压测思路如图: 一、日志入参 日志选取的adsearch 的 getads部分…...
SpingMVC之拦截器使用详解
拦截器概述 SpringMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。 过滤器和拦截器区别 过滤器:依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过…...
motionface respeak新的aigc视频与音频对口型数字人
在当今的数字化时代,人工智能(AI)正在逐渐渗透到我们生活的方方面面。其中,AI技术在视频制作和处理领域的应用也日益广泛。本文将探讨如何利用AI技术实现视频中人脸与音频同步对口型的方法,旨在进一步丰富视频制作的效…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...
