跳到主要内容Ubuntu 下 Python 环境配置与实战开发指南 | 极客日志Python
Ubuntu 下 Python 环境配置与实战开发指南
本文介绍了在 Ubuntu 系统下搭建 Python 开发环境的完整流程。内容包括安装 Python 3 及 pip、配置国内源、创建虚拟环境。推荐了 VS Code 和 PyCharm 两款 IDE 的安装配置方法。通过 matplotlib 数据可视化、Flask Web 服务、APScheduler 定时任务三个实战案例演示核心技能。最后总结了常见问题如虚拟环境激活、绘图显示、防火墙设置等的解决方案,并提出了容器化部署、自动化运维等进阶方向。
清酒独酌1 浏览 Ubuntu 作为最流行的 Linux 发行版之一,凭借其稳定的性能、丰富的软件生态和开源特性,成为 Python 开发的理想选择。无论是数据分析、Web 开发还是人工智能领域,Ubuntu 都能为 Python 提供高效的运行环境。本文将从基础环境配置出发,逐步深入到 Python 开发的核心场景,帮助开发者在 Ubuntu 系统中快速搭建稳定、高效的 Python 开发环境,并通过实战案例掌握关键开发技能。
一、Ubuntu 系统下 Python 环境基础配置
1.1 了解 Ubuntu 预装的 Python 版本
Ubuntu 系统默认会预装 Python,但可能同时存在 Python 2.x(部分旧版本系统)和 Python 3.x 两个版本。由于 Python 2.x 已停止官方支持,建议优先使用 Python 3.x 进行开发。
查看系统预装 Python 版本:
打开终端(快捷键:Ctrl + Alt + T),执行以下命令:
python --version
python3 --version
若输出类似 Python 3.10.12 的信息,说明系统已预装 Python 3;若提示 "command not found",则需手动安装。
1.2 安装与升级 Python 3
Ubuntu 官方软件源中包含 Python 3,可通过 apt 包管理器快速安装或升级。
1.2.1 安装 Python 3
sudo apt update
sudo apt install -y python3 python3-pip python3-dev
python3:Python 3 的核心执行程序
python3-pip:Python 3 的包管理工具(用于安装第三方库)
python3-dev:Python 3 的开发依赖(编译 C 扩展库时需用到)
1.2.2 升级 pip 到最新版本
pip 是 Python 生态中最常用的包管理器,建议安装后立即升级到最新版本:
python3 -m pip install --upgrade pip
1.2.3 配置 pip 国内源(加速包安装)
默认情况下,pip 从国外的 PyPI 源下载包,速度较慢。可配置国内镜像源(如阿里云、豆瓣源)提升下载速度:
nano ~/.config/pip/pip.conf
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com
按 Ctrl + O 保存,Ctrl + X 退出编辑器。
1.3 配置 Python 虚拟环境(推荐)
在实际开发中,不同项目可能依赖不同版本的 Python 库,直接在系统全局环境安装会导致版本冲突。Python 虚拟环境可为每个项目创建独立的依赖环境,避免冲突。
1.3.1 安装虚拟环境工具
1.3.2 使用 venv 创建虚拟环境
以创建一个名为 my_project_env 的虚拟环境为例:
mkdir -p ~/python_projects/my_first_project
cd ~/python_projects/my_first_project
python3 -m venv venv
source venv/bin/activate
激活成功后,终端提示符前会显示 (venv),表示当前处于虚拟环境中。此时使用 python 和 pip 命令默认指向虚拟环境中的 Python 3,无需再用 python3 和 pip3。
1.3.3 退出虚拟环境
二、Ubuntu 下 Python 开发工具选型与配置
2.1 终端工具:简单场景首选
对于快速测试代码片段或执行简单脚本,Ubuntu 终端是最便捷的选择:
- 直接执行 Python 脚本:
python script.py
- 进入 Python 交互模式:
python(支持实时输入代码并执行,输入 exit() 退出)
2.2 图形化 IDE:复杂项目必备
2.2.1 VS Code(轻量、灵活,推荐新手)
VS Code 是微软推出的开源 IDE,支持 Python 语法高亮、代码补全、调试等功能,通过插件可扩展丰富的开发能力。
- 安装 VS Code:
- 方法 1:通过 Ubuntu 软件中心搜索 "Visual Studio Code" 直接安装;
- 安装 Python 插件:打开 VS Code,点击左侧 "扩展" 图标(或按
Ctrl + Shift + X),搜索 "Python",安装微软官方的 "Python" 插件(作者:Microsoft)。
- 配置 Python 解释器(关联虚拟环境):
- 打开项目文件夹后,按
Ctrl + Shift + P,输入 "Python: Select Interpreter";
- 选择虚拟环境中的 Python 解释器(路径类似
~/python_projects/my_first_project/venv/bin/python)。
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.2.2 PyCharm(专业、全功能,适合企业级开发)
PyCharm 是 JetBrains 专为 Python 开发设计的 IDE,分为社区版(免费开源)和专业版(付费,支持 Web 开发、数据库等高级功能)。
- 下载 PyCharm 社区版:访问 PyCharm 官网,选择 "Community Edition" 的
.tar.gz 包下载。
- 首次启动时,选择 "Do not import settings",然后按照引导配置 Python 解释器(关联虚拟环境)即可。
cd ~/Downloads
tar -xzf pycharm-community-2024.1.1.tar.gz
sudo mv pycharm-community-2024.1.1 /opt/
/opt/pycharm-community-2024.1.1/bin/pycharm.sh
三、Ubuntu 下 Python 实战场景案例
3.1 案例 1:简单数据可视化(使用 matplotlib)
matplotlib 是 Python 最常用的绘图库,可在 Ubuntu 下快速实现数据可视化。
步骤 1:在虚拟环境中安装 matplotlib
source ~/python_projects/my_first_project/venv/bin/activate
pip install matplotlib
步骤 2:编写可视化脚本
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.figure(figsize=(8, 4))
plt.plot(x, y, label='sin(x)', color='blue', linewidth=2)
plt.title('Sine Function Plot (Ubuntu + Python)', fontsize=14)
plt.xlabel('X Value', fontsize=12)
plt.ylabel('Y Value (sin(x))', fontsize=12)
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()
步骤 3:运行脚本
3.2 案例 2:搭建简单 Web 服务(使用 Flask)
Flask 是轻量级的 Python Web 框架,适合快速开发小型 Web 应用。
步骤 1:安装 Flask
步骤 2:编写 Web 服务代码
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_ubuntu_python():
return "<h1>Hello! This is a Flask Web App on Ubuntu + Python</h1>"
@app.route('/user/<name>')
def greet_user(name):
return f"<h2>Welcome, {name}! You're using Flask on Ubuntu.</h2>"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
步骤 3:运行 Web 服务
步骤 4:访问 Web 服务
- 本地访问:打开浏览器,输入
http://localhost:5000 或 http://127.0.0.1:5000;
- 局域网访问:在同一网络的其他设备上,输入
http://[Ubuntu 主机 IP]:5000(Ubuntu 主机 IP 可通过 ip addr 命令查看,如 192.168.1.100);
- 访问带参数路由:如
http://localhost:5000/user/Alice,将显示欢迎 Alice 的页面。
3.3 案例 3:定时任务(使用 APScheduler)
在 Ubuntu 下,可通过 APScheduler 实现 Python 脚本的定时执行(类似 Linux 的 crontab,但更灵活)。
步骤 1:安装 APScheduler
步骤 2:编写定时任务脚本
创建 scheduler_demo.py 文件,内容如下:
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
def print_current_time():
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"Current time: {current_time}")
scheduler = BlockingScheduler()
scheduler.add_job(print_current_time, 'interval', seconds=5)
print("Scheduler started. Press Ctrl+C to stop.")
try:
scheduler.start()
except (KeyboardInterrupt, SystemExit):
pass
步骤 3:运行定时任务
终端将每 5 秒输出一次当前时间,按 Ctrl + C 停止调度器。
四、Ubuntu 下 Python 开发常见问题与解决方案
4.1 问题 1:虚拟环境激活后,python 命令仍指向系统 Python
原因:虚拟环境配置异常,或 python 命令被系统别名覆盖。
解决方案:
- 若路径错误,重新激活虚拟环境;若仍无效,删除原虚拟环境并重新创建。
4.2 问题 2:matplotlib 绘图时提示 "no display name and no $DISPLAY environment variable"
原因:Ubuntu 服务器版(无图形界面)或通过 SSH 远程连接时,matplotlib 无法找到显示设备。
解决方案:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.savefig('sin_plot.png')
4.3 问题 3:Flask 服务启动后,局域网设备无法访问
- Flask 服务绑定的 IP 为
127.0.0.1(仅本地可访问);
- Ubuntu 防火墙阻止了 5000 端口的访问。
- 启动 Flask 时指定
host='0.0.0.0'(如案例 2 中的 app.run(host='0.0.0.0'));
五、总结与进阶建议
本文从 Ubuntu 环境下 Python 的基础配置、开发工具选型到实战案例,覆盖了 Python 开发的核心场景。通过虚拟环境隔离项目依赖、选择合适的 IDE 提升开发效率、解决常见问题,可帮助开发者在 Ubuntu 系统中高效进行 Python 开发。
进阶学习方向:
- 容器化部署:使用 Docker 将 Python 应用打包为容器,实现跨环境一致性部署;
- 自动化运维:结合 Ubuntu 的
systemd 服务,将 Python 脚本注册为系统服务(实现开机自启、异常重启);
- 性能优化:使用
cProfile 分析 Python 脚本性能瓶颈,通过 Cython 或 Numba 加速计算密集型任务;
- 深度学习:在 Ubuntu 下配置 CUDA、CuDNN,结合 TensorFlow/PyTorch 实现 GPU 加速训练。
微信扫一扫,关注极客日志
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
相关免费在线工具
- curl 转代码
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown 转 HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
- HTML 转 Markdown
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
- JSON 压缩
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online