【Linux】Ubuntu Linux 系统——Python集成开发环境

news2025/3/26 6:22:12

ℹ️大家好,我是练小杰,今天周四了,明天就周五了,再坚持坚持又能休息了!!😆

本文是有关Linux 操作系统中Python集成开发环境基础知识,后续将添加更多相关知识噢,谢谢各位的支持~~🙏

前情回顾:【Linux 系统 ——PHP开发环境】

Linux专栏:🔝 【Linux零基础开始】【Shell 脚本编程】 【文件权限专栏】

在这里插入图片描述

Python集成开发环境

  • Python简介
    • 主要特点
    • 局限性
    • 调试与测试
  • 安装Python
    • 使用包管理器安装
    • 通过源代码安装较新的Python版本
  • 使用 Python
    • 运行 Python 脚本
    • 使用交互式解释器
  • Python版本切换
  • 项目示例
  • 虚拟环境简介
    • 创建和管理虚拟环境
  • pip工具管理 Python 包
    • pip工具的管理命令
    • 使pip安装源使用国内镜像
  • 安装Python集成开发环境
    • 常用的Python编程IDE工具
    • Ubuntu系统中安装PyCharm
    • 卸载 PyCharm
  • PyCharm图形界面管理
    • PyCharm初始化设置
    • 创建Python项目
    • 编写Python脚本
    • 运行Python脚本
    • 调试Python脚本
    • 管理第三方类库

在这里插入图片描述

Python简介

Python是一种面向对象的语言,使用简洁的语法表达,使编写程序和运行程序变得简单易懂。在 Linux 系统中,Python 是许多开发任务的首选语言,尤其是在自动化脚本、Web 开发、数据分析和人工智能等领域。

主要特点

  • 易于移植,支持 Linux、Windows、macOS 等操作系统。
  • 拥有丰富的库,庞大的标准库和第三方库(如 NumPyPandasDjango)。
  • Python易于扩展,是一种高级程序设计语言。
  • Python适应面广,尤其适合开发运维(DevOps)、数据科学(大数据)、人工智能、网站开发和安全等领域的软件开发。

局限性

  • 性能问题

Python是一种解释型语言,相比于编译型语言(如C/C++),在执行速度上可能较慢。尽管有像Cython和PyPy这样的工具可以提高性能,但在某些对性能要求极高的应用中,Python可能不是最佳选择。

  • 依赖管理和环境隔离问题
  • 依赖复杂性:Python项目通常依赖于大量的第三方库,管理和维护这些依赖关系可能会变得复杂。虽然有工具如pip、virtualenv、conda等可以帮助管理依赖和环境,但仍然可能遇到版本冲突和兼容性问题。
  • 在Linux系统中,不同项目可能需要不同版本的Python或不同的库版本,环境隔离工具虽然可以缓解这一问题,但设置和管理这些环境仍然需要一定的学习和配置时间。
  • 权限限制问题

Python在系统级编程(如修改系统内核、编写驱动程序等)方面能力有限。虽然可以通过调用C扩展或使用ctypes/cffi等库进行一些底层操作,但这增加了复杂性,并且不如C/C++等语言直接。

  • 移动平台支持不足

Python在移动应用开发方面的支持相对较弱。虽然有像Kivy这样的框架可以用于跨平台移动应用开发,但与原生移动开发工具(如Android的Java/Kotlin,iOS的Swift/Objective-C)相比,功能和性能上存在差距。

  • 调试工具的局限性

虽然Python有丰富的调试工具,但在某些复杂的调试场景下,可能不如C/C++等语言的调试工具强大。

调试与测试

程序调试,一般使用 pdbIDE 的调试工具;并且,在测试中使用 unittestpytest 进行单元测试。

安装Python

在大多数 Linux 发行版中,Python 3 已预装。可用以下命令检查 Python 版本。

python3 --version

使用包管理器安装

  • Ubuntu/Debian系统
sudo apt update
sudo apt install python3
  • Fedora 系统
sudo dnf install python3
  • Arch Linux系统
sudo pacman -S python

通过源代码安装较新的Python版本

  • 下载源码:

安装之前检查确认安装有C编译器gcc, 再从Python官网下载源码。

wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz
  • 将源代码包解压缩:
tar -xvf Python-3.x.x.tgz
  • 切换到解压缩后的Python版本目录,加上选项--with-ssl 执行configure脚本检查安装环境并生成Makefile文件。
cd Python-3.x.x
./configure  --with -ssl
  • 执行make命令编译源代码并执行 make install安装编译好的软件包。
make
sudo make install

使用 Python

运行 Python 脚本

  • 创建 Python 脚本(用nano 或者vim 都可以)
vim hello.py
  • 添加以下内容:
print("Hello, LXJ!")
  • 运行脚本:
python3  hello.py

使用交互式解释器

  • 启动 Python 交互式解释器:
python3
  • 在解释器中直接执行代码:
>>> print("Hello, LXJ!")
Hello, LXJ!

Python版本切换

  • 为每个版本安装注册候选项
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 3
  • 执行以下命令选择要使用的默认Python版本
$ sudo update-alternatives --config python
有 3 个候选项可用于替换 python (提供 /usr/bin/python)。
  选择       路径                    优先级  状态
------------------------------------------------------------
* 0            /usr/local/bin/python3.7   3         自动模式
  1            /usr/bin/python2.7         1         手动模式
  2            /usr/bin/python3.6         2         手动模式
  3            /usr/local/bin/python3.7   3         手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:

项目示例

接下来用一个简单的 Flask Web 应用示例说明。

  1. 安装 Flask
pip install Flask
  1. 创建应用:
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, World!"

if __name__ == '__main__':
    app.run(debug=True)
  1. 运行应用:
python3 app.py
  1. 在浏览器中访问 http://localhost:5000

虚拟环境简介

虚拟环境就是一个独立的目录树,包含有一个特定版本的Python和一些附加的包。 不同的应用程序可以使用不同的虚拟环境,能解决不同应用程序之间的版本冲突。

创建和管理虚拟环境

新版本Python则使用模块venv创建和管理虚拟环境。
若在系统中有多个版本的Python,则可以通过运行python3命令来选择一个指定的Python版本。

  • 创建一个虚拟环境,需要确定一个要存放的目录,接着以脚本方式运行venv模块,后跟目录路径参数,例如:
 python3 -m venv myenv
  • 创建好虚拟环境之后必须激活它。在Linux平台上执行以下命令进行激活:
source myenv/bin/activate
  • 需要退出虚拟环境,可执行以下命令。
deactivate

pip工具管理 Python 包

  • 我们一般使用pip工具来安装、升级和删除包。
  • pip里有许多子命令,如search(搜索指定的包)、install(安装指定的包)、uninstall(卸载指定的包)、list(列出当前已安装的包)、show(显示一个指定包的信息)等。

pip工具的管理命令

#安装包
pip install package_name

#卸载包
pip uninstall package_name

#查看已安装的包
pip list
  • 其中,requirements.txt文本文档用于记录已安装的库及其版本信息。
  • 到另一个虚拟环境中可通过pip install -r将该文档记录的已安装库迁移过来使用。
pip install -r requirements.txt

使pip安装源使用国内镜像

  • 创建pip.conf配置文件
~ $ mkdir ~/.pip
~$ cd ~/.pip
~/.pip$ touch pip.conf
  • 执行以下命令打开编辑器编辑pip.conf配置文件
$sudo geditnano ~/.pip/pip.conf
  • 输入以下内容,保存该文件并退出。
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

安装Python集成开发环境

常用的Python编程IDE工具

  • PyCharm:这是由JetBrains公司提供的Python专用的集成开发环境。
  • Sublime Text:一个跨平台的编辑器,具有漂亮的用户界面和强大的功能。
  • Eclipse with PyDev:Eclipse是非常流行的IDE,而PyDev是Eclipse开发Python的IDE,支持Python应用程序的开发。
  • PyScripter:免费开源的Python集成开发环境。
  • Visual Studio Code(VS Code):通过安装Python扩展就可以作为一个Python IDE。
  • Jupyter Notebook:适合数据分析和可视化。

Ubuntu系统中安装PyCharm

PyCharm现在可以通过Snap方式安装。 这里从JetBrains官网下载二进制包进行安装,具体安装步骤如下。

  1. 下载二进制包文件pycharm-*.tar.gz* 表示版本号)
  2. 将该包解压缩到安装目录(通常是/opt/
sudo tar xfz pycharm-*.tar.gz -C /opt/
  1. 切换到安装目录下的bin子目录。
cd /opt/pycharm-*/bin
  1. 运行脚本pycharm.sh启动PyCharm
sh pycharm.sh

卸载 PyCharm

  • 如果通过 .tar.gz 安装,直接删除解压的目录即可
rm -rf ~/pycharm-*
  • 如果通过 Snap 安装,使用以下命令卸载
sudo snap remove pycharm-community   # Community 版
sudo snap remove pycharm-professional   # Professional 版

PyCharm图形界面管理

PyCharm初始化设置

  • 选装功能性插件
    在这里插入图片描述

  • PyCharm欢迎界面
    在这里插入图片描述

创建Python项目

  • 项目设置
    在这里插入图片描述
  • 新建的Python项目
    在这里插入图片描述

编写Python脚本

  • 新建 一个Python文件
    在这里插入图片描述

运行Python脚本

  • 程序运行配置
    在这里插入图片描述
  • Python程序运行
    在这里插入图片描述

调试Python脚本

  • 对Python程序调试
    在这里插入图片描述

可以发现,这时运行错误,因为缺少了的对应的python库。

管理第三方类库

  • 查看第三方类库
    在这里插入图片描述
  • 选装第三方库
    在这里插入图片描述
  • 管理安装源

在这里插入图片描述

今天的Linux系统的Python集成开发内容到这里就结束了,明天再见啦👋
ℹ️想了解更多,主页【练小杰的CSDN】
⚠️若博客里的内容有问题,欢迎指正,我会及时修改!!!
明天再见,各位伙伴们🚴🏻‍♀️~~

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

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

相关文章

数据库加密全解析:从传输到存储的安全实践

title: 数据库加密全解析:从传输到存储的安全实践 date: 2025/2/17 updated: 2025/2/17 author: cmdragon excerpt: 数据加密是数据库安全的最后一道物理防线。传输层SSL/TLS配置、存储加密技术及加密函数实战应用,覆盖MySQL、PostgreSQL、Oracle等主流数据库的20+生产级加密…

【Prometheus】prometheus结合domain_exporter实现域名监控

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

计算机专业知识【软件开发中的常用图表:E - R图、HIPO、DFD、N - S、PAD详解】

在软件开发过程中&#xff0c;有许多种图表工具被用于不同阶段的设计和分析&#xff0c;帮助开发者更清晰地理解系统结构、数据流程和算法逻辑。下面将详细介绍E - R图、HIPO图、DFD图、N - S图和PAD图&#xff0c;包括它们的样子和用途。 一、E - R图&#xff08;实体 - 联系…

智能马达保护器:为工业电机安全运行保驾护航

在工业生产中&#xff0c;电动机作为核心动力设备&#xff0c;其稳定运行直接关系到生产效率与安全性。然而&#xff0c;复杂的工况环境、频繁启停和突发负载变化&#xff0c;常导致电机面临过载、缺相、短路等故障风险。安科瑞智能马达保护器凭借其智能化、高精度、多功能的设…

深度集成DeepSeek大模型:WebSocket流式聊天实现

目录 5分钟快速接入DeepSeek大模型&#xff1a;WebSocket实时聊天指南创建应用开发后端代码 (Python/Node.js)结语 5分钟快速接入DeepSeek大模型&#xff1a;WebSocket实时聊天指南 创建应用 访问DeepSeek官网 前往 DeepSeek官网。如果还没有账号&#xff0c;需要先注册一个。…

QT基础二、信号和槽

一、什么是信号和槽&#xff1f; 1、简述 在Qt框架中&#xff0c;信号和槽&#xff08;Signals and Slots&#xff09; 是一种用于对象间通信的机制。它是一种非常强大且灵活的设计模式&#xff0c;广泛应用于事件驱动编程中。信号和槽机制允许对象之间以松耦合的方式进行交互…

【深度学习】计算机视觉(CV)-目标检测-Faster R-CNN —— 高精度目标检测算法

1.什么是 Faster R-CNN&#xff1f; Faster R-CNN&#xff08;Region-based Convolutional Neural Network&#xff09; 是 目标检测&#xff08;Object Detection&#xff09; 领域的一种 双阶段&#xff08;Two-Stage&#xff09; 深度学习方法&#xff0c;由 Ross Girshick…

Blazor-父子组件传递任意参数

在我们从父组件传参数给子组件时&#xff0c;可以通过子组件定义的[Parameter]特性的公开属性进行传值&#xff0c;但是当我们需要传递多个值的时候&#xff0c;就需要通过[Parameter]特性定义多个属性&#xff0c;有没有更简便的方式&#xff1f; 我们可以使用定义 IDictionar…

【原创】vue-element-admin-plus完成编辑页面中嵌套列表功能

前言 vue-element-admin-plus对于复杂业务的支持程度确实不怎么样&#xff0c;我这里就遇到了编辑页面中还要嵌套列表的真实案例&#xff0c;比如字典&#xff0c;主字典嵌套子信息&#xff0c;类似于一个树状结构。目前vue-element-admin-plus给出的例子是无法满足这个需求的…

DeepSeek教unity------MessagePack-02

内置支持类型&#xff1a; 对象序列化 MessagePack for C# 可以序列化你自己定义的公共类或结构体类型。默认情况下&#xff0c;可序列化的类型必须用 [MessagePackObject] 属性进行注解&#xff0c;成员需要用 [Key] 属性进行注解。键可以是索引&#xff08;整数&#xff09;…

H5应用抓包及调试技巧

由于图片和格式解析问题&#xff0c;可前往 阅读原文 在现代移动互联网时代&#xff0c;H5 应用以其跨平台、轻量化、快速迭代的特性&#xff0c;成为移动开发的重要一环。然而&#xff0c;随着功能的复杂化和用户体验要求的提升&#xff0c;H5应用的调试也面临着诸多挑战&…

自学Java-面向对象高级(final、单例类、枚举类、抽象类、接口)

自学Java-面向对象高级&#xff08;final、单例类、枚举类、抽象类、接口&#xff09; 一、final关键字1、认识final关键字2、final修饰变量的注意3、常量 二、单例类&#xff08;设计模式&#xff09;1、设计模式的概念2、单例设计模式3、单例类有很多形式4、懒汉式单例类5、小…

docker下部署kong+consul+konga 报错问题处理

前言&#xff1a; 由于在docker下部署一些项目比较特殊&#xff0c;特别是网络这一块&#xff0c;如果没有搞清楚&#xff0c;是很容易出问题的。 先上docker-compose 编排 这里的docker-compose for kong可以在 kong-compose 获取代码 version: 3.9x-kong-config:&kong…

网络优化工作流程

DT路测 移动测试&#xff08;Drive Test&#xff09; CQT 定点测试&#xff08;通信质量测试&#xff09; DT 测试不能体现实际话务质量&#xff1a;回音、串音等网络问题不能通过 DT 测试发现&#xff0c;因此 CQT 拨打测试是 DT 测试很好的补充&#xff0c;也是目前室内外测…

React入门 - 0.React简介

React入门 - React简介 A Brief Introduction to React By JacksonML 1. 关于React React是一个知名的Web框架。众所周知&#xff0c;jQuery, Angular, Vue等框架都曾闪亮登场&#xff0c;并且&#xff0c;都仍然在全球市场占有一席之地。React这个颇有担当的新锐&#xff0…

SpringCloud系列教程:微服务的未来(二十四)Direct交换机、Topic交换机、声明队列交换机

前言 在现代消息队列系统中&#xff0c;交换机是实现消息传递和路由的核心组件。本文将重点探讨三种常见的交换机类型&#xff1a;Direct交换机、Topic交换机和声明队列交换机。通过对这三种交换机的详细分析&#xff0c;我们将学习它们的工作原理、应用场景以及如何在实际项目…

Sojson高级加密技术科普

1. 引言 什么是Sojson&#xff1f; Sojson是一款用于JavaScript代码加密与混淆的工具&#xff0c;它能够有效保护前端代码的知识产权&#xff0c;避免开发者的心血被随意窃取。 为什么需要代码加密&#xff1f; 在当今的互联网环境下&#xff0c;代码被轻易复制、篡改或逆向…

mysql多主集群 galera cluster for mysql 8安装配置启动重启集群

[TOC] 一、安装mysql 1、安装 系统环境&#xff1a; Ubuntu 18.04 64位 MySQL 8.0.19 下载MySQL APT安装配置包 首先访问 https://dev.mysql.com/downloads/repo/apt/ 获取配置包下载地址 wget https://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.deb sudo dpkg -i mysq…

mybatis 入门案例

前言 我们清楚 mybatis 是一个持久层框架&#xff0c;可以非常便捷的操作数据库。如最常见的对数据进行增删改查操作。 项目准备 1 在mybatis 数据库 创建 user 用户表 并插入以下两条数据 以下是一个user.sql 脚本文件如何使用 脚本文件可以参照MySQL数据库的备份与还原_控…

Python使用Flask结合DeepSeek开发

一、背景 我之前关于DeepSeek使用ollama部署的文章大家可以把DeepSeek大模型部署起来。那么ollama还提供了可以调用对应部署模型的API接口。我们可以基于这些接口&#xff0c;做自己的二次开发。使用pythonflaskollama就可以进行模型对话调用。并且前端采用SSE的技术&#xff0…