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

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

本文是有关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.mzph.cn/diannao/70133.shtml

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

相关文章

DeepSeek+即梦 做AI视频

DeepSeek做AI视频 制作流程第一步&#xff1a;DeepSeek 生成视频脚本和分镜 第二步&#xff1a;生成分镜图片绘画提示词第三步&#xff1a;生成分镜图片第四步&#xff1a;使用可灵 AI 工具&#xff0c;将生成的图片转成视频。第五步&#xff1a;剪映成短视频 DeepSeek 真的强&…

react传递函数与回调函数原理

为什么 React 允许直接传递函数&#xff1f; 回调函数核心逻辑 例子&#xff1a;父组件控制 Modal 的显示与隐藏 // 父组件 (ParentComponent.tsx) import React, { useState } from react; import { Modal, Button } from antd; import ModalContent from ./ModalContent;co…

【Spring AI】基于SpringAI+Vue3+ElementPlus的QA系统实现(前端)

整理不易&#xff0c;请不要吝啬你的赞和收藏。 1. 前言 这篇文章是 Spring AI Q&A 系统的前端实现。这篇文章将介绍如何快速搭建一个基于 vue3 ElementPlus 的前端项目&#xff0c;vue3 项目的目录结构介绍&#xff0c;如何在前端实现流式响应&#xff0c;如何高亮显示…

企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析

解决方案链接&#xff1a;https://www.aliyun.com/solution/tech-solution/deepseek-r1-for-platforms?utm_contentg_1000401616 何为DeepSeek R1 DeepSeek R1模型有诸多技术优势。高效架构设计使其能更高效提取特征&#xff0c;减少冗余计算&#xff0c;提升数据处理速度、…

K8s学习总结

文章目录 介绍Kubernetes 核心组件k8s安装环境安装组件 常用命令测试1. 创建一个测试应用程序2. 检查 Pod 是否运行 3. 暴露应用让外部访问4. 查看服务的暴露端口5. 访问 nginx 服务6. 验证节点调度 如有错误&#xff0c;敬请指针&#xff0c;谢谢! 介绍 Kubernetes&#xff0…

前端为什么要使用new Promise包裹一个函数

在前端开发中&#xff0c;使用 new Promise 包裹一个函数主要是为了将原本不支持 Promise 规范的操作转化为支持 Promise 规范的操作&#xff0c;从而可以更好地处理异步操作&#xff0c;提升代码的可读性和可维护性。下面详细介绍这么做的常见原因和应用场景&#xff1a; 1. …

说下JVM中一次完整的GC流程?

大家好&#xff0c;我是锋哥。今天分享关于【说下JVM中一次完整的GC流程?】面试题。希望对大家有帮助&#xff1b; 说下JVM中一次完整的GC流程? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 JVM中的一次完整的垃圾回收&#xff08;GC&#xff09;流程可以概括为…

dnslog+sqlmap外带数据

目录 爆库 爆表 爆列 爆数据 sqlmapDNSlog 外带参数 –dns-domain参数注入 –dns-domain参数为dnslog平台的域名&#xff08;我们也可以使用本地&#xff09; 爆库 python sqlmap.py -u "http://127.0.0.1/sqli/less-8/index.php/?id1" -techniqueB -dns-dom…

提升顾客转化率:融合2+1链动模式AI智能名片与S2B2C商城小程序的创新策略

摘要&#xff1a;在数字化转型的背景下&#xff0c;零售商面临着提升顾客转化率的巨大挑战。本文旨在探讨如何通过整合顾客行为数据、21链动模式、AI智能名片及S2B2C商城小程序等新兴技术与商业模式&#xff0c;来精准定位顾客需求&#xff0c;优化营销策略&#xff0c;从而提高…

以若依移动端版为基础,实现uniapp的flowable流程管理

1.前言 此代码是若依移动端版为基础&#xff0c;实现flowable流程管理&#xff0c;支持H5、APP和微信小程序三端。其中&#xff0c;APP是在安卓在雷电模拟器环境下完成的&#xff0c;其他环境未测试&#xff0c;此文章中所提及的APP均指上述环境。移动端是需要配合若依前后端分…

《全球网络安全政策法律发展研究报告 (2024) 》

全球视野&#xff0c;深度剖析 报告以全球视野为出发点&#xff0c;深度剖析了2024年各国在网络安全政策法律方面的最新进展。从局部区域冲突延宕到关键信息基础设施(关基)安全保护规则的持续细化&#xff0c;从数据安全政策立法的蓬勃发展到个人信息保护立法的不断完善&#…

细说STM32F407单片机RTC的备份寄存器原理及使用方法

目录 一、备份寄存器的功能 二、示例功能 三、项目设置 1、晶振、DEBUG、CodeGenerator、USART6 2、RTC 3、NVIC 4、GPIO 及KEYLED 四、软件设计 1、main.h 2、main.c 3、rtc.c 4、keyled.c、keyled.h 五、运行调试 本实例旨在介绍备份寄存器的作用。本实例继续使…

建筑行业安全技能竞赛流程方案

一、比赛时间&#xff1a; 6月23日8&#xff1a;30分准时到场&#xff1b;9&#xff1a;00&#xff0d;10&#xff1a;00理论考试&#xff1b;10&#xff1a;10-12:00现场隐患答疑&#xff1b;12:00-13&#xff1a;30午餐&#xff1b;下午13&#xff1a;30-15&#xff1a;30现场…

解锁机器学习核心算法 | 线性回归:机器学习的基石

在机器学习的众多算法中&#xff0c;线性回归宛如一块基石&#xff0c;看似质朴无华&#xff0c;却稳稳支撑起诸多复杂模型的架构。它是我们初涉机器学习领域时便会邂逅的算法之一&#xff0c;其原理与应用广泛渗透于各个领域。无论是预测房价走势、剖析股票市场波动&#xff0…

JAVA生产环境(IDEA)排查死锁

使用 IntelliJ IDEA 排查死锁 IntelliJ IDEA 提供了强大的工具来帮助开发者排查死锁问题。以下是具体的排查步骤&#xff1a; 1. 编写并运行代码 首先&#xff0c;我们编写一个可能导致死锁的示例代码&#xff1a; public class DeadlockExample {private static final Obj…

解决DeepSeek服务器繁忙问题

目录 解决DeepSeek服务器繁忙问题 一、用户端即时优化方案 二、高级技术方案 三、替代方案与平替工具&#xff08;最推荐简单好用&#xff09; 四、系统层建议与官方动态 用加速器本地部署DeepSeek 使用加速器本地部署DeepSeek的完整指南 一、核心原理与工具选择 二、…

机器学习 - 大数定律、可能近似正确学习理论

一、大数定律&#xff1a; 大数定律是概率论中的一个基本定理&#xff0c;其核心思想是&#xff1a;当独立重复的随机试验次数足够大时&#xff0c;样本的平均值会趋近于该随机变量的期望值。下面从直观和数学两个角度来说明这一概念&#xff1a; 1. 直观理解 重复试验的稳定…

【触想智能】工业显示器和普通显示器的区别以及工业显示器的主要应用领域分析

在现代工业中&#xff0c;工业显示器被广泛应用于各种场景&#xff0c;从监控系统到生产控制&#xff0c;它们在实时数据显示、操作界面和信息传递方面发挥着重要作用。与普通显示器相比&#xff0c;工业显示器在耐用性、可靠性和适应特殊环境的能力上有着显著的差异。 触想工业…

PyCharm2024使用Python3.12在Debug时,F8步进时如同死机状态

在使用时PyCharm2024&#xff0b;Python3.12&#xff0c;在程序进行调试时&#xff0c;按F8步进时如同死机状态。 1、相同的程序在PyCharm2023&#xff0b;Python3.9时是没有问题的&#xff0c;因此决定重装PyCharm2023&#xff0b;Python3.9&#xff0c;进行调试——调试OK。 …

LLaMA-Factory DeepSeek-R1 模型 微调基础教程

LLaMA-Factory 模型 微调基础教程 LLaMA-FactoryLLaMA-Factory 下载 AnacondaAnaconda 环境创建软硬件依赖 详情LLaMA-Factory 依赖安装CUDA 安装量化 BitsAndBytes 安装可视化微调启动 数据集准备所需工具下载使用教程所需数据合并数据集预处理 DeepSeek-R1 可视化微调数据集处…