【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.pswp.cn/diannao/70133.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70133.shtml
英文地址,請注明出處:http://en.pswp.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 可視化微調數據集處…