Ubuntu環(huán)境下玩轉(zhuǎn)Python配置的實(shí)戰(zhàn)開發(fā)全指南
前言
Ubuntu 作為最流行的 Linux 發(fā)行版之一,憑借其穩(wěn)定的性能、豐富的軟件生態(tài)和開源特性,成為 Python 開發(fā)的理想選擇。無(wú)論是數(shù)據(jù)分析、Web 開發(fā)還是人工智能領(lǐng)域,Ubuntu 都能為 Python 提供高效的運(yùn)行環(huán)境。本文將從基礎(chǔ)環(huán)境配置出發(fā),逐步深入到 Python 開發(fā)的核心場(chǎng)景,幫助開發(fā)者在 Ubuntu 系統(tǒng)中快速搭建穩(wěn)定、高效的 Python 開發(fā)環(huán)境,并通過(guò)實(shí)戰(zhàn)案例掌握關(guān)鍵開發(fā)技能。
一、Ubuntu 系統(tǒng)下 Python 環(huán)境基礎(chǔ)配置
1.1 了解 Ubuntu 預(yù)裝的 Python 版本
Ubuntu 系統(tǒng)默認(rèn)會(huì)預(yù)裝 Python,但可能同時(shí)存在 Python 2.x(部分舊版本系統(tǒng))和 Python 3.x 兩個(gè)版本。由于 Python 2.x 已停止官方支持,建議優(yōu)先使用 Python 3.x 進(jìn)行開發(fā)。
查看系統(tǒng)預(yù)裝 Python 版本:
打開終端(快捷鍵:Ctrl + Alt + T),執(zhí)行以下命令:
# 查看Python 2版本(若存在) python --version # 查看Python 3版本 python3 --version
若輸出類似Python 3.10.12的信息,說(shuō)明系統(tǒng)已預(yù)裝 Python 3;若提示 "command not found",則需手動(dòng)安裝。
1.2 安裝與升級(jí) Python 3
Ubuntu 官方軟件源中包含 Python 3,可通過(guò)apt包管理器快速安裝或升級(jí)。
安裝 Python 3
# 更新軟件源索引 sudo apt update # 安裝Python 3及依賴 sudo apt install -y python3 python3-pip python3-dev
python3:Python 3 的核心執(zhí)行程序python3-pip:Python 3 的包管理工具(用于安裝第三方庫(kù))python3-dev:Python 3 的開發(fā)依賴(編譯 C 擴(kuò)展庫(kù)時(shí)需用到)
升級(jí) pip 到最新版本
pip 是 Python 生態(tài)中最常用的包管理器,建議安裝后立即升級(jí)到最新版本:
python3 -m pip install --upgrade pip
配置 pip 國(guó)內(nèi)源(加速包安裝)
默認(rèn)情況下,pip 從國(guó)外的 PyPI 源下載包,速度較慢??膳渲脟?guó)內(nèi)鏡像源(如阿里云、豆瓣源)提升下載速度:
1.創(chuàng)建 pip 配置目錄:
mkdir -p ~/.config/pip
2.編輯 pip 配置文件:
nano ~/.config/pip/pip.conf
3.粘貼以下內(nèi)容(使用阿里云鏡像):
[global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host = mirrors.aliyun.com
按Ctrl + O保存,Ctrl + X退出編輯器。
1.3 配置 Python 虛擬環(huán)境(推薦)
在實(shí)際開發(fā)中,不同項(xiàng)目可能依賴不同版本的 Python 庫(kù),直接在系統(tǒng)全局環(huán)境安裝會(huì)導(dǎo)致版本沖突。Python 虛擬環(huán)境可為每個(gè)項(xiàng)目創(chuàng)建獨(dú)立的依賴環(huán)境,避免沖突。
安裝虛擬環(huán)境工具
# 安裝virtualenv(傳統(tǒng)工具) pip3 install virtualenv # 或安裝venv(Python 3.3+內(nèi)置,無(wú)需額外安裝)
使用 venv 創(chuàng)建虛擬環(huán)境
以創(chuàng)建一個(gè)名為my_project_env的虛擬環(huán)境為例:
# 1. 創(chuàng)建項(xiàng)目目錄(示例:~/python_projects/my_first_project) mkdir -p ~/python_projects/my_first_project cd ~/python_projects/my_first_project # 2. 創(chuàng)建虛擬環(huán)境(在當(dāng)前目錄下生成venv文件夾) python3 -m venv venv # 3. 激活虛擬環(huán)境 source venv/bin/activate
激活成功后,終端提示符前會(huì)顯示(venv),表示當(dāng)前處于虛擬環(huán)境中。此時(shí)使用python和pip命令默認(rèn)指向虛擬環(huán)境中的 Python 3,無(wú)需再用python3和pip3。
退出虛擬環(huán)境
deactivate
二、Ubuntu 下 Python 開發(fā)工具選型與配置
2.1 終端工具:簡(jiǎn)單場(chǎng)景首選
對(duì)于快速測(cè)試代碼片段或執(zhí)行簡(jiǎn)單腳本,Ubuntu 終端是最便捷的選擇:
- 直接執(zhí)行 Python 腳本:
python script.py - 進(jìn)入 Python 交互模式:
python(支持實(shí)時(shí)輸入代碼并執(zhí)行,輸入exit()退出)
2.2 圖形化 IDE:復(fù)雜項(xiàng)目必備
VS Code(輕量、靈活,推薦新手)
VS Code 是微軟推出的開源 IDE,支持 Python 語(yǔ)法高亮、代碼補(bǔ)全、調(diào)試等功能,通過(guò)插件可擴(kuò)展豐富的開發(fā)能力。
安裝與配置步驟:
1.安裝 VS Code:
方法 1:通過(guò) Ubuntu 軟件中心搜索 "Visual Studio Code" 直接安裝;
方法 2:終端命令安裝(推薦,獲取最新版本):
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
sudo apt update
sudo apt install -y code
2.安裝 Python 插件:打開 VS Code,點(diǎn)擊左側(cè) "擴(kuò)展" 圖標(biāo)(或按Ctrl + Shift + X),搜索 "Python",安裝微軟官方的 "Python" 插件(作者:Microsoft)。
3.配置 Python 解釋器(關(guān)聯(lián)虛擬環(huán)境):
- 打開項(xiàng)目文件夾后,按
Ctrl + Shift + P,輸入 "Python: Select Interpreter"; - 選擇虛擬環(huán)境中的 Python 解釋器(路徑類似
~/python_projects/my_first_project/venv/bin/python)。
PyCharm(專業(yè)、全功能,適合企業(yè)級(jí)開發(fā))
PyCharm 是 JetBrains 專為 Python 開發(fā)設(shè)計(jì)的 IDE,分為社區(qū)版(免費(fèi)開源)和專業(yè)版(付費(fèi),支持 Web 開發(fā)、數(shù)據(jù)庫(kù)等高級(jí)功能)。
安裝步驟:
1.下載 PyCharm 社區(qū)版:訪問(wèn)PyCharm 官網(wǎng),選擇 "Community Edition" 的.tar.gz包下載。
2.解壓并安裝:
# 假設(shè)下載到~/Downloads目錄,版本為2024.1.1 cd ~/Downloads tar -xzf pycharm-community-2024.1.1.tar.gz sudo mv pycharm-community-2024.1.1 /opt/ # 啟動(dòng)PyCharm /opt/pycharm-community-2024.1.1/bin/pycharm.sh
3.首次啟動(dòng)時(shí),選擇 "Do not import settings",然后按照引導(dǎo)配置 Python 解釋器(關(guān)聯(lián)虛擬環(huán)境)即可。
三、Ubuntu 下 Python 實(shí)戰(zhàn)場(chǎng)景案例
3.1 案例 1:簡(jiǎn)單數(shù)據(jù)可視化(使用 matplotlib)
matplotlib 是 Python 最常用的繪圖庫(kù),可在 Ubuntu 下快速實(shí)現(xiàn)數(shù)據(jù)可視化。
步驟 1:在虛擬環(huán)境中安裝 matplotlib
# 確保已激活虛擬環(huán)境 source ~/python_projects/my_first_project/venv/bin/activate pip install matplotlib
步驟 2:編寫可視化腳本
創(chuàng)建plot_demo.py文件,內(nèi)容如下:
import matplotlib.pyplot as plt
import numpy as np
# 生成數(shù)據(jù)(x軸:0-10的100個(gè)點(diǎn),y軸:正弦函數(shù))
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 創(chuàng)建圖形
plt.figure(figsize=(8, 4))
plt.plot(x, y, label='sin(x)', color='blue', linewidth=2)
# 添加標(biāo)題和標(biāo)簽
plt.title('Sine Function Plot (Ubuntu + Python)', fontsize=14)
plt.xlabel('X Value', fontsize=12)
plt.ylabel('Y Value (sin(x))', fontsize=12)
# 添加圖例和網(wǎng)格
plt.legend()
plt.grid(True, alpha=0.3)
# 顯示圖形(Ubuntu下需確保已安裝圖形支持,默認(rèn)已包含)
plt.show()
步驟 3:運(yùn)行腳本
python plot_demo.py
運(yùn)行后將彈出一個(gè)窗口,顯示正弦函數(shù)的曲線圖。
3.2 案例 2:搭建簡(jiǎn)單 Web 服務(wù)(使用 Flask)
Flask 是輕量級(jí)的 Python Web 框架,適合快速開發(fā)小型 Web 應(yīng)用。
步驟 1:安裝 Flask
# 在虛擬環(huán)境中執(zhí)行 pip install flask
步驟 2:編寫 Web 服務(wù)代碼
創(chuàng)建app.py文件,內(nèi)容如下:
from flask import Flask
# 初始化Flask應(yīng)用
app = Flask(__name__)
# 定義路由(根路徑)
@app.route('/')
def hello_ubuntu_python():
return "<h1>Hello! This is a Flask Web App on Ubuntu + Python</h1>"
# 定義帶參數(shù)的路由
@app.route('/user/<name>')
def greet_user(name):
return f"<h2>Welcome, {name}! You're using Flask on Ubuntu.</h2>"
if __name__ == '__main__':
# 啟動(dòng)服務(wù)(host='0.0.0.0'允許外部設(shè)備訪問(wèn),默認(rèn)端口5000)
app.run(host='0.0.0.0', port=5000, debug=True)
步驟 3:運(yùn)行 Web 服務(wù)
python app.py
步驟 4:訪問(wèn) Web 服務(wù)
- 本地訪問(wèn):打開瀏覽器,輸入
http://localhost:5000或http://127.0.0.1:5000; - 局域網(wǎng)訪問(wèn):在同一網(wǎng)絡(luò)的其他設(shè)備上,輸入
http://[Ubuntu主機(jī)IP]:5000(Ubuntu 主機(jī) IP 可通過(guò)ip addr命令查看,如192.168.1.100); - 訪問(wèn)帶參數(shù)路由:如
http://localhost:5000/user/Alice,將顯示歡迎 Alice 的頁(yè)面。
3.3 案例 3:定時(shí)任務(wù)(使用 APScheduler)
在 Ubuntu 下,可通過(guò) APScheduler 實(shí)現(xiàn) Python 腳本的定時(shí)執(zhí)行(類似 Linux 的crontab,但更靈活)。
步驟 1:安裝 APScheduler
pip install apscheduler
步驟 2:編寫定時(shí)任務(wù)腳本
創(chuàng)建scheduler_demo.py文件,內(nèi)容如下
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
# 定義要定時(shí)執(zhí)行的函數(shù)
def print_current_time():
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"Current time: {current_time}")
# 初始化調(diào)度器
scheduler = BlockingScheduler()
# 添加定時(shí)任務(wù)(每5秒執(zhí)行一次)
scheduler.add_job(print_current_time, 'interval', seconds=5)
# 添加每日固定時(shí)間任務(wù)(例如每天14:30執(zhí)行)
# scheduler.add_job(print_current_time, 'cron', hour=14, minute=30)
print("Scheduler started. Press Ctrl+C to stop.")
try:
scheduler.start()
except (KeyboardInterrupt, SystemExit):
pass
步驟 3:運(yùn)行定時(shí)任務(wù)
python scheduler_demo.py
終端將每 5 秒輸出一次當(dāng)前時(shí)間,按Ctrl + C停止調(diào)度器。
四、Ubuntu 下 Python 開發(fā)常見問(wèn)題與解決方案
4.1 問(wèn)題 1:虛擬環(huán)境激活后,python命令仍指向系統(tǒng) Python
原因:虛擬環(huán)境配置異常,或python命令被系統(tǒng)別名覆蓋。
解決方案:
檢查虛擬環(huán)境中python的路徑:
which python # 正常應(yīng)輸出:~/python_projects/my_first_project/venv/bin/python
若路徑錯(cuò)誤,重新激活虛擬環(huán)境;若仍無(wú)效,刪除原虛擬環(huán)境并重新創(chuàng)建。
4.2 問(wèn)題 2:matplotlib 繪圖時(shí)提示 "no display name and no $DISPLAY environment variable"
原因:Ubuntu 服務(wù)器版(無(wú)圖形界面)或通過(guò) SSH 遠(yuǎn)程連接時(shí),matplotlib 無(wú)法找到顯示設(shè)備。
解決方案:
1.在腳本開頭添加無(wú)圖形界面配置:
import matplotlib
matplotlib.use('Agg') # 使用非交互式后端
import matplotlib.pyplot as plt2.將圖形保存為文件(而非直接顯示)
plt.savefig('sin_plot.png') # 保存到當(dāng)前目錄4.3 問(wèn)題 3:Flask 服務(wù)啟動(dòng)后,局域網(wǎng)設(shè)備無(wú)法訪問(wèn)
原因:
- Flask 服務(wù)綁定的 IP 為
127.0.0.1(僅本地可訪問(wèn)); - Ubuntu 防火墻阻止了 5000 端口的訪問(wèn)。
解決方案:
啟動(dòng) Flask 時(shí)指定host='0.0.0.0'(如案例 2 中的app.run(host='0.0.0.0'));
開放 5000 端口(臨時(shí)開放,重啟后失效):
sudo ufw allow 5000
若需永久開放,執(zhí)行:
sudo ufw allow 5000/tcp
五、總結(jié)與進(jìn)階建議
本文從 Ubuntu 環(huán)境下 Python 的基礎(chǔ)配置、開發(fā)工具選型到實(shí)戰(zhàn)案例,覆蓋了 Python 開發(fā)的核心場(chǎng)景。通過(guò)虛擬環(huán)境隔離項(xiàng)目依賴、選擇合適的 IDE 提升開發(fā)效率、解決常見問(wèn)題,可幫助開發(fā)者在 Ubuntu 系統(tǒng)中高效進(jìn)行 Python 開發(fā)。
進(jìn)階學(xué)習(xí)方向
- 容器化部署:使用 Docker 將 Python 應(yīng)用打包為容器,實(shí)現(xiàn)跨環(huán)境一致性部署;
- 自動(dòng)化運(yùn)維:結(jié)合 Ubuntu 的
systemd服務(wù),將 Python 腳本注冊(cè)為系統(tǒng)服務(wù)(實(shí)現(xiàn)開機(jī)自啟、異常重啟); - 性能優(yōu)化:使用
cProfile分析 Python 腳本性能瓶頸,通過(guò)Cython或Numba加速計(jì)算密集型任務(wù); - 深度學(xué)習(xí):在 Ubuntu 下配置 CUDA、CuDNN,結(jié)合 TensorFlow/PyTorch 實(shí)現(xiàn) GPU 加速訓(xùn)練。
到此這篇關(guān)于Ubuntu環(huán)境下玩轉(zhuǎn)Python配置的實(shí)戰(zhàn)開發(fā)全指南的文章就介紹到這了,更多相關(guān)Ubuntu配置Python內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python處理JSON時(shí)的值報(bào)錯(cuò)及編碼報(bào)錯(cuò)的兩則解決實(shí)錄
這篇文章主要介紹了Python處理JSON時(shí)的值報(bào)錯(cuò)及編碼報(bào)錯(cuò)的兩則解決實(shí)錄,在這里還是想建議一下使用Python 3.x版本,Python 3默認(rèn)的Unicode編碼能在實(shí)際使用中為我們省去不少問(wèn)題,需要的朋友可以參考下2016-06-06
Python使用?TCP協(xié)議實(shí)現(xiàn)智能聊天機(jī)器人功能
TCP協(xié)議適用于對(duì)效率要求相對(duì)較低而準(zhǔn)確性要求很高的場(chǎng)合,下面通過(guò)本文給大家介紹基于Python?使用?TCP?實(shí)現(xiàn)智能聊天機(jī)器人,需要的朋友可以參考下2022-05-05
Python reversed反轉(zhuǎn)序列并生成可迭代對(duì)象
這篇文章主要介紹了Python reversed反轉(zhuǎn)序列并生成可迭代對(duì)象,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Python如何使用sqlalchemy實(shí)現(xiàn)動(dòng)態(tài)sql
SQLAlchemy是一個(gè)功能強(qiáng)大的ORM(對(duì)象關(guān)系映射)工具,它提供了多種方式來(lái)生成SQL查詢,包括動(dòng)態(tài)SQL,下面我們就來(lái)學(xué)習(xí)一下具體的使用方法吧2024-12-12
Python使用Windows API創(chuàng)建窗口示例【基于win32gui模塊】
這篇文章主要介紹了Python使用Windows API創(chuàng)建窗口操作,結(jié)合實(shí)例形式分析了Python基于win32gui模塊調(diào)用Windows API創(chuàng)建窗口具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05
Python中排序函數(shù)sorted()函數(shù)的使用實(shí)例
sorted()作為Python內(nèi)置函數(shù)之一,其功能是對(duì)序列(列表、元組、字典、集合、還包括字符串)進(jìn)行排序,下面這篇文章主要給大家介紹了關(guān)于Python中排序函數(shù)sorted()函數(shù)的相關(guān)資料,需要的朋友可以參考下2022-11-11
Python Web框架Flask中使用七牛云存儲(chǔ)實(shí)例
這篇文章主要介紹了Python Web框架Flask中使用七牛云存儲(chǔ)實(shí)例,本文也對(duì)七牛云存儲(chǔ)Python SDK的一個(gè)使用示例,需要的朋友可以參考下2015-02-02
python基礎(chǔ)之Numpy庫(kù)中array用法總結(jié)
NumPy(Numerical Python的縮寫)是一個(gè)開源的Python科學(xué)計(jì)算庫(kù),使用NumPy就可以很自然地使用數(shù)組和矩陣,這篇文章主要給大家介紹了關(guān)于python基礎(chǔ)之Numpy庫(kù)中array用法的相關(guān)資料,需要的朋友可以參考下2021-08-08

