【案例共创】华为云主机Linux Python开发环境配置

本案例由开发者:华为2024年第三批次协同育人项目-南航金城学院-孙福清教师提供

一、概述

1. 案例介绍

本案例是在华为云主机下,使用python作为开发环境的必要基础配置,包括:linux操作系统的apt软件源、python的pip软件源配置、python的虚拟环境、pip软件模块安装、简单的文本编辑工具gedit配置、python代码编写和运行。完成学习本案例后,学生可以独自在全新空白的华为云主机上进行linux+python的开发环境的基础配置,使得后续可以使用python来学习和完成接下来的课程内容以及案例,例如基于python开源模块的人工智能计算机视觉。

2. 适用对象

  • 企业
  • 个人开发者
  • 高校学生

3. 案例时间

本案例总时长预计90分钟。

4. 案例流程

说明: 1. 安装配置文本编辑器gedit; 2. Linux apt软件源配置; 3. Linux python软件源配置; 4. Python虚拟环境配置; 5. 虚拟环境管理模块; 6. Python代码编写和运行。

5. 资源总览

本案例预计花费0元。

资源名称规格单价(元)时长(分钟)
华为开发者空间 - 云主机鲲鹏通用计算增强型 kC2 | 4vCPUs | 8G | Ubuntu免费90

二、开发环境准备

1. 开发者空间配置

面向广大开发者群体,华为开发者空间提供一个随时访问的“开发桌面云主机”、丰富的“预配置工具集合”和灵活使用的“场景化资源池”,开发者开箱即用,快速体验华为根技术和资源。

进入华为开发者空间工作台界面,点击打开云主机 > 进入桌面连接云主机。 如果还没有领取云主机进入工作台界面后点击配置云主机,选择Ubuntu操作系统。

三、文本编辑工具gedit

1. 本编辑工具gedit介绍

‌本案例需要使用文本编辑软件来进行: - 配置文件(linux apt配置文件、python pip配置文件)的查看、编辑和修改; - python代码的查看、编辑、修改。

Linux操作系统自带的文本编辑工具vim,对于初步接触linux操作系统的新手来说,难于适应这种命令行的使用方式。本案例使用新手友好熟练的鼠标使用方式的文本编辑器,推荐使用gedit: gedit是一个GNOME桌面环境下兼容UTF-8的文本编辑器‌。它简单易用,支持良好的语法高亮,对中文支持很好,包括支持gb2312、gbk在内的多种字符编码。它还是一个自由软件,每天被数百万使用GNOME的Ubuntu、Fedora和其他Linux发行版的用户所使用。gedit因其强大的功能和灵活性,在Linux社区中广受欢迎,是许多开发者和用户首选的文本编辑器之一。

2. 安装和配置gedit

华为云主机没有预装gedit,需要单独安装gedit工具。步骤如下:

打开终端:

使用默认账号,安装gredit,在终端窗口中执行命令:

sudo apt install gedit

安装完成:

安装完成后使用gedit。使用以下命令可正常打开文件:

gedit 1.py

使用root账号,安装gredit:

设置root账号新密码:

sudo passwd root

切换到root用户:

su root

输入密码:

在root账户下,安装gedit

apt install gedit

安装成功:

注意: 如果出现权限问题:Authorization required,but no authorization protocol specified

需要切换到普通用户下执行命令,进行访问权限授权操作:

xhost +local:root

访问权限授权操作完成后,在root账号下使用gedit编辑文本文件就正常了:

3. 使用gedit编辑文本文件

使用CodeArts IDE for Python创建Python项目,在项目目录下打开终端:

使用gedit查看已有的文件:

gedit main.py

使用gedit打开文本文件、编辑和保存:

点击保存:

四、配置ubuntu的apt软件源

1. Ubuntu的apt软件源

Ubuntu 是基于 Debian 的免费开源 Linux 发行版,以“易用性”和“稳定性”为核心优势,适合从个人用户到企业级部署的广泛场景,因此得到广泛应用。 APT(Advanced Package Tool)是ubuntu的包管理系统,例如软件包的安装、升级、删除及依赖关系,是Ubuntu生态的核心工具,能大幅提升系统管理效率。 APT 软件源或软件仓库(repository)是存放Ubuntu软件包及其元数据的网络服务器的地址列表,这些网络服务器地址列表通常存储在本地的软件源配置文件(例如/etc/apt/sources.list)中。APT包管理工具 (apt update和apt install等命令)通过读取软件源配置文件来得到网络服务器地址列表,从而去访问网络服务器下载需要的软件包,并自动进行安装。 Ubuntu软件源,分为官方源以及镜像源,见下表:

Ubuntu的通常国内镜像源:

需要根据我们计算机(华为云主机arm+ubuntu)位置,配置就近的软件源,这个对于我们快速、成功的安装Ubuntu软件模块非常重要。

华为云主机 与 ubuntu 2204 server官方软件源(ports.ubuntu.com/ubuntu-ports/) 的网络情况:

ping ports.ubuntu.com

华为云主机 与 华为ubuntu apt镜像软件源(http://repo.huaweicloud.com/ubuntu-ports/) 的网络情况:

ping repo.huaweicloud.com

华为云主机可能位于华为的国内数据中心中,最好也将ubuntu apt软件源配置成距离最近的华为ubuntu apt镜像软件源:华为云主机和华为ubuntu apt镜像软件源在同一个数据中心。

2. 查看云主机apt软件源配置

华为云主机的apt软件源的配置文件为:/etc/apt/sources.list.d/ubuntu.sources,可以使用 cat命令进行查看:cat /etc/apt/sources.list.d/ubuntu.sources

cat /etc/apt/sources.list.d/ubuntu.sources

Ubuntu官方软件源为:http://ports.ubuntu.com/ubuntu-ports/,是 Ubuntu 官方为非x86架构设备(如 Arm64、Armhf、PowerPC、RISC-V、S390x等)提供的软件仓库主站点,由Canonical(Ubuntu开发公司)托管,其数据中心主要分布在美国和欧洲。 华为云主机在国内华为数据中心中,官方的apt软件源在欧美,从国内主机去欧美服务器下载软件可能会很慢并出现中断,导致安装失败。

3. 配置华为云主机的apt软件源

步骤1:对原有的配置文件进行备份:

sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak

步骤2:使用文本编辑器gedit打开配置文件:

gedit /etc/apt/sources.list.d/ubuntu.sources

步骤3:切换至root用户下编辑配置文件:

给root账户设置新密码:

sudo passwd root

添加访问授权操作:

xhost +local:root

进入root账户:

su root

编辑配置文件,将apt软件源配置成同一个数据中心内的华为镜像源(http://repo.huaweicloud.com/ubuntu-ports/),保存配置。

gedit /etc/apt/sources.list.d/ubuntu.sources

步骤4:更新软件包索引

更换apt软件源后,需要在终端中使用apt update命令更新新软件源的软件包索引。 apt update主要功能是从配置的软件源(repositories)中获取最新的软件包信息,并更新本地的软件包索引。通过运行 apt update(要求root权限),系统会同步这些索引文件,确保在安装或更新软件时能够获取最新的版本。 软件源:软件源是存储软件包的服务器地址,系统会从这些地址下载软件包及其元数据。 软件包索引:索引文件包含了可用软件包的列表、版本信息、依赖关系等。

apt update

从上示例图可以看出,apt update更新软件包索引时,是从已经配置的apt软件源中进行同步,并且同步网络速度很快。 这样为我们后续案例中 需要用到的ubuntu软件模块(如python的相关应用程序工具,不是python模块包package,例如venv;如gcc/gnu工具等等)。

五、python的虚拟环境

1. python的虚拟环境

虚拟环境(venv)是 Python 项目的一个独立环境,它可以与系统的全局 Python 环境以及其他项目的环境隔离开来。通过使用虚拟环境,你可以确保每个项目都有其自己的依赖项和库版本,从而避免不同项目之间的依赖冲突: 本隔离:在不同项目中,可能会因为依赖的库或Python版本不同而导致冲突。使用虚拟环境可以避免这种问题,每个项目都有自己独立的环境 依赖管理:虚拟环境可以帮助您清楚地了解项目所需的所有依赖,便于共享、迁移或重建项目。 环境复制:通过虚拟环境,您可以轻松地在不同的计算机之间复制项目环境,确保项目在不同机器上的运行一致性。 华为云主机,强制要求使用虚拟环venv来安装使用python的第3方模块,不允许在全局环境中安装使用,pip3工具也只预装在虚拟环境中。

在root账户下执行命令:

apt install python3-pip

安装Flask

pip3 install Flask

2. 安装python虚拟环境工具

Python的venv模块是 Python 3.3+ 官方推荐的轻量级虚拟环境工具,用于创建隔离的Python运行环境。 模块venv在华为云主机预装的python环境中没有预先安装,需要手工安装。

尝试创建一个虚拟环境:

python3 -m venv venvInnovation

安装venv工具:

apt install python3.12-venv

备注:是否选择继续执行?输入:Y,等待安装完成!

3. 创建python虚拟环境

使用venv模块创建虚拟环境:python3 -m venv venvInnovation,此处venvInnovation是虚拟环境的名字,可以随意取类似名字,例如:venv007 上述命令,在当前目录下创建一个虚拟环境文件夹,名字随意。虚拟环境本质是一个完整文件夹,创建成功后,将在当前文件目录下多出一个文件夹。

python3 -m venv venvInnovation

4. 激活python虚拟环境

虚拟环境创建成功后,还需要激活后才能使用,激活方法:进入到虚拟环境文件夹的子文件夹bin中,执行命令source activate进行激活。

进入虚拟环境:

cd venvInnovation

查看文件:

ls

进入bin目录下:

cd bin/

再次执行ls命令,然后执行以下命令激活环境:

source activate

激活成功后,要从虚拟环境的子文件夹bin中退出来,执行以下命令回到个人项目文件夹下:

cd ..

5. 验证使用python虚拟环境

步骤1:虚拟环境安装Python模块flask。

pip install flask

安装成功:

步骤2:虚拟环境安装Python模块flask,成功导入模块。

python3

导入模块:

import flask

6. 退出python虚拟环境

退出虚拟环境:

方法一:退出或关闭 shell(terminal)。

方法二:执行以下命令退出。

deactivate

7. 对比python的虚拟环境和全局环境

以python的web框架flask模块为例,python模块flask在华为云主机未预先安装。 虚拟环境中安装的python模块,只属于这个虚拟环境,其他虚拟环境以及全局环境都无法使用。

8. 删除python虚拟环境

删除虚拟环境,本质是删除虚拟环境的整个文件夹,使用Linux的基础命令rm -rf来进行删除。

备注:请谨慎删除,后面会继续使用虚拟环境。

rm -rf venvInnovation/

上述命令就是使用rm命令,携带 -rf 选项(强制删除、删除文件夹和子文件夹),删除虚拟环境的文件夹。

六、配置python的pip软件源

1. python的pip软件源

pip( Package Installer for Python) 是 Python 官方推荐的包管理工具,用于安装、升级、卸载第三方库,以及其依赖的包。 Pip软件源:是指用于下载Python包(模块)的网络服务器。 默认情况下,pip使用的源是Python官方提供的PyPI(Python Package Index),但访问官方源(国外)可能会比较慢。 如果在安装python模块时,下载速度非常慢,就可以考虑使用国内镜像源或其他第三方源可以提高下载速度和安装效率。

常用的pip软件源:

根据 本地计算机与pip软件源的网络状况,以及个人需求配置合适的pip软件源,极大提高python模块从软件源下载速度以及安装成功率。

2. python3的pip工具-pip3

华为云主机使用高版本的ubuntu,python开发环境强制要求使用虚拟环境,只能在虚拟环境中才能安装使用第3方python模块,全局环境下不能使用pip工具,只能在python的虚拟环境下使用pip工具(python3为pip3)

在虚拟环境中执行命令:

pip3

pip工具常用命令:

3. 查看pip软件源

可以使用 pip config list命令查看本机的pip源配置。

在虚拟环境中执行命令:

pip config list

如果未配置pip软件源,pip config list将输出空。

4. 配置pip软件源

pip软件源有两种配置方式:临时方式和永久方式。

方式1:临时方式 每次使用pip安装模块时,在命令行中指定某个特定软件源,例如:pip3 install opencv-contrib-python -i https://repo.huaweicloud.com/repository/pypi/simple. 不建议,很难记住 pip源的网址。

方式2:永久配置(配置文件)(推荐) pip源的配置文件 pip.conf: - 当前登录用户为developer,位于:/home/developer/.config/pip/pip.conf - 当前登录用户为root,位于:/root/.config/pip/pip.conf

配置文件又有两种方式,一种是通过pip命令(推荐),一种是直接编辑配置文件。

pip命令行配置: 使用命令行pip config配置国内软件源,会自动创建配置文件:pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple.

pip config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple

再次执行以下命令,可以看到配置的国内软件源。

pip config list

编辑配置文件pip.conf配置:

pip软件源配置文件pip.conf,根据linux系统登录账号不同,在不同的位置: - 登录账号为root:gedit /root/.config/pip/pip.conf - 登录账号为普通用户:gedit /home/developer/.config/pip/pip.conf

以root登录账号为例,在terminal的python虚拟环境下,使用gedit编辑pip.conf:

关闭terminal,重新打开,执行以下命令:

xhost +local:root

执行以下命令,输入密码,进入root:

su root

激活python虚拟环境后,执行以下命令:

gedit /root/.config/pip/pip.conf

使用gedit编辑保存pip.conf文件。

5. 验证配置pip软件源

配置完成pip软件源后,通过安装python模块来验证是否是生效:

安装opencv-contrib-python,执行以下命令:

pip install opencv-contrib-python

云主机是在华为云的数据中心,华为云的pip镜像软件源也是在华为云数据中心,就近配置,模块下载安装速度很快。

6. 重置pip软件源

可以使用以下命令,将python pip软件源恢复重置到系统默认的pip软件源

pip config unset global.index-url

七、验证云主机的linux python开发环境

1. Python模块flask

flask 是一个使用Python编写的轻量级Web应用框架,对于有一定Python基础的开发者来说,flask的学习曲线比较平缓。它的代码简洁明了,通过简单的代码就可以快速搭建一个 Web 应用。 本案例以flask为例 来验证使用我们配置的linux + python开发环境是否能够正常流畅的使用。

2. 安装Python模块flask

进入到虚拟环境,在虚拟环境中安装python模块flask:

pip3 install flask

安装成功:

3. 编写简单python web代码

在当前项目文件目录下,使用gedit新建mineflask.py文件并点击保存,当前目录下出现新建的文件。

gedit mineflask.py

使用gedit打开文件,编写代码,保存。

import flask
web = flask.Flask(__name__)
web.add_url_rule("/","index",lambda:"欢迎来到华为云开发者空间!")
web.run(host="0.0.0.0",port=8080,debug=True)

4. 执行python web代码

使用命令行方式执行python代码:

python mineflask.py

执行代码成功的截图:

对于简单的python项目以及新手,命令行方式直接执行python代码,简单易学易用,避免使用庞大的python IDE的学习成本和运行启动时间等问题。

打开火狐浏览器:

在浏览器上输入上述截图中的网址,访问启动的web服务。

至此,华为云主机Linux Python开发环境配置案例已全部完成。

5. 反馈改进建议

如您在案例实操过程中遇到问题或有改进建议,可以到论坛帖评论反馈即可,我们会及时响应处理,谢谢!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值