Ubuntu玩转Python:从配置到实战全指南

好的,这是一份在 Ubuntu 环境下使用 Python 的完整指南:

在 Ubuntu 环境下玩转 Python:从环境配置到实战开发全指南

Ubuntu 是开发者喜爱的 Linux 发行版之一,与 Python 结合能提供强大且稳定的开发环境。本指南将带你完成从环境配置到实战开发的完整流程。

一、环境配置
  1. 检查系统自带 Python
    • Ubuntu 通常预装了 Python。
    • 查看输出,确认版本(如 Python 3.10.12)。python 命令可能指向 Python 2,建议始终使用 python3pip3
  2. 安装 Python 开发工具包
  3. 使用虚拟环境(强烈推荐)
    • 虚拟环境隔离项目依赖,避免冲突。
    • 退出虚拟环境:deactivate
  4. 安装第三方库
    • requirements.txt 安装:pip install -r requirements.txt
    • 生成 requirements.txtpip freeze > requirements.txt

在激活的虚拟环境中使用 pip

pip install <package_name> # 例如 pip install numpy pandas 

创建并激活虚拟环境:

python3 -m venv my_project_env # 创建名为 my_project_env 的虚拟环境 source my_project_env/bin/activate # 激活环境 (激活后提示符会变化) 

确保安装了构建 Python 扩展所需的工具:

sudo apt update sudo apt install python3-dev python3-pip python3-venv 

打开终端 Ctrl+Alt+T,输入:

python3 --version 
二、基础开发工具
  1. 选择代码编辑器/IDE
    • VS Code:轻量级且功能强大,支持 Python 扩展。通过 Snap 或 Deb 包安装。
    • PyCharm:专业 Python IDE,社区版免费。通过 Toolbox 或 Snap 安装。
    • Vim/Neovim:终端编辑器,配置后效率极高。
    • Sublime Text:快速、灵活的编辑器。
  2. 版本控制:Git
    • Ubuntu 通常预装 Git。检查:git --version

未安装则:

sudo apt install git git config --global user.name "Your Name" git config --global user.email "[email protected]" 
三、实战开发示例
  1. 示例 1:简单的数据处理
    • 安装库:pip install pandas
    • 运行:python data_analysis.py
  2. 示例 2:构建一个简单的 Web API (使用 Flask)
    • 安装库:pip install Flask
    • 运行:python app.py
    • 访问:http://127.0.0.1:5000
  3. 示例 3:编写一个命令行工具
  4. 示例 4:简单的网络爬虫
    • 安装库:pip install requests beautifulsoup4
    • 运行:python simple_crawler.py (注意:遵守网站 robots.txt 和法律法规)

编写 simple_crawler.py

import requests from bs4 import BeautifulSoup url = 'https://example.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 提取所有标题 for title in soup.find_all('h1'): print(title.get_text()) 

运行:

python cli_tool.py Alice --greet # 输出:Hello, Alice! 

编写 cli_tool.py

import argparse parser = argparse.ArgumentParser(description='A simple CLI tool.') parser.add_argument('name', help='Your name') parser.add_argument('--greet', action='store_true', help='Print a greeting') args = parser.parse_args() if args.greet: print(f"Hello, {args.name}!") 

编写 app.py

from flask import Flask, jsonify app = Flask(__name__) @app.route('/') def home(): return jsonify({"message": "Hello from Ubuntu & Python!"}) if __name__ == '__main__': app.run(debug=True) 

编写脚本 data_analysis.py

import pandas as pd # 读取 CSV 文件 data = pd.read_csv('data.csv') # 查看前几行 print(data.head()) # 简单统计 print(data.describe()) 
四、调试与测试
  1. 使用 pdb 调试
    • 常用命令:n (下一步), s (进入函数), c (继续), l (查看代码), p <var> (打印变量)。
  2. 单元测试
    • 使用内置的 unittest 模块。
    • 编写测试类继承 unittest.TestCase,使用 assert 方法验证结果。
    • 运行测试:python -m unittest discover

在代码中插入断点:

import pdb; pdb.set_trace() # 运行到此处会进入调试器 
五、进阶配置
  1. 管理多个 Python 版本
    • 使用 pyenv 可以安装并管理多个 Python 版本。
    • 按照提示配置 Shell 环境。
    • 安装特定版本:pyenv install 3.11.4
    • 设置全局版本:pyenv global 3.11.4
  2. 优化安装速度

或配置为默认:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 

使用国内镜像源加速 pip

pip install <package> -i https://pypi.tuna.tsinghua.edu.cn/simple 

安装 pyenv

curl https://pyenv.run | bash 
六、结论

Ubuntu 为 Python 开发提供了稳定、高效的平台。通过正确配置环境、使用虚拟环境管理依赖、选择合适的工具并进行实践,你可以在 Ubuntu 上高效地进行从脚本编写到复杂应用的 Python 开发。结合 Git 进行版本控制,利用调试和测试工具保证代码质量,你将能充分发挥 Python 在 Ubuntu 上的潜力。

补充建议:

  • 关注安全更新:定期 sudo apt update && sudo apt upgrade
  • 探索容器化:学习使用 Docker 封装你的 Python 应用环境。
  • 利用云服务:Ubuntu 是许多云平台的基础,便于部署 Python 应用。

Read more

mysql-9.6.0-winx64 安装踩雷教程

mysql-9.6.0-winx64 安装踩雷教程

今天安装了mysql-9.6.0-winx64,有部分踩雷事项。 下载地址:mysql 1、D盘新建文件夹mysql,把文件压缩到这个文件夹底下 2、在安装包的根目录底下建一个my.ini文件。文件里面写的内容可以直接复制。 * 注意:很多旧教程里面的配置信息是错误和新的mysql不匹配。 会面临错误:MySQL 9.6.0 启动失败。根源是 配置项: default_authentication_plugin=mysql_native_password 在 9.6 版本中已被移除,同时因配置错误导致系统表 mysql.component 缺失。 * basedir具体的地址填写你自己的。 * datadir的data现在是没有的,要等后面初始化的时候才生成。 [mysqld]port=3307basedir=D:\\mysql\\mysql-9.6.0-winx64 datadir=D:

By Ne0inhk
Flutter 组件 csv2json 适配鸿蒙 HarmonyOS 实战:高性能异构数据转换,构建 CSV 流式解析与全栈式数据映射架构

Flutter 组件 csv2json 适配鸿蒙 HarmonyOS 实战:高性能异构数据转换,构建 CSV 流式解析与全栈式数据映射架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 csv2json 适配鸿蒙 HarmonyOS 实战:高性能异构数据转换,构建 CSV 流式解析与全栈式数据映射架构 前言 在鸿蒙(OpenHarmony)生态迈向工业数字化、涉及海量历史报表同步、离线数据采集及跨系统异构数据对齐的背景下,如何实现一种既能处理超大规模文本、又能保障转换极速且具备“非阻塞”特性的数据清洗方案,已成为决定应用数据吞吐能力与内存稳健性的核心因素。在鸿蒙设备这类强调 AOT 极致性能与受限内存足迹的环境下,如果应用依然采用原始的循环分割或同步全量加载 CSV,由于由于数据规模的膨胀,极易由于由于“内存瞬时爆表”导致鸿蒙应用的任务栈卡死。 我们需要一种能够流式处理(Streaming)、支持自动化字段映射(Auto-mapping)且具备零样板代码特性的转换方案。 csv2json 为 Flutter 开发者引入了“数据流变幻”范式。它将结构松散的 CSV 文本精确轰击为高维度的 JSON

By Ne0inhk
Flutter 组件 angel3_auth 适配鸿蒙 HarmonyOS 实战:多策略身份验证,构建全栈式安全鉴权与身份防腐架构

Flutter 组件 angel3_auth 适配鸿蒙 HarmonyOS 实战:多策略身份验证,构建全栈式安全鉴权与身份防腐架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 angel3_auth 适配鸿蒙 HarmonyOS 实战:多策略身份验证,构建全栈式安全鉴权与身份防腐架构 前言 在鸿蒙(OpenHarmony)生态迈向全栈式开发、涉及跨端统一登录、多因子安全验证(MFA)及高性能服务端 API 保护的背景下,如何构建一套坚固、可扩展且具备“多策略适配”能力的身份验证架构,已成为决定全栈系统安全等级与用户信任度的基石。在鸿蒙设备这类强调分布式安全域与跨端信任链的环境下,如果应用依然依赖硬编码的简单鉴权逻辑,由于由于身份上下文的复杂性,极易由于由于“鉴权粒度过粗”导致越权访问或遭受 CSRF/XSS 等复合型攻击。 我们需要一种能够解耦认证逻辑、支持多种插拔式策略(如 JWT、Local、OAuth2)且具备高度可定制性的鉴权中间件。 angel3_auth 为 Dart 全栈开发者引入了“

By Ne0inhk
黑马点评完整代码(RabbitMQ优化)+简历编写+面试重点 ⭐

黑马点评完整代码(RabbitMQ优化)+简历编写+面试重点 ⭐

简历上展示黑马点评 完整代码地址 微服务学成在线项目 前言 当初就是当作一个学习笔记和个人面试记录发的,没想到这么多人收藏浏览,还是感慨学Java的人确实多啊。 适合什么人看呢,我仅仅说说我个人的理解,因为我现在也是个经历秋招的双非学生。 1.初学者学习完Redis基础,想来个实战,黑马点评还是特别好的一个项目,基本包含了所有数据类型的运用和redis其他功能的扩展,这篇文章可以带你提炼重点,很好的走下流程。 2.但大部分人是冲着找实习和秋招去的,像我这种学历不高的秋招就不要写黑马点评了,即使包装,也会很容易看出来,我找实习的时候就被面试官问到这是不是黑马点评过,我们可以把其中的闪光点迁移到你找的其他项目中,比如缓存穿透雪崩击穿的解决方法,redisson分布式锁解决一人一单,这种在大多项目中都可以添加,自圆其说就行。 3.对于找实习的像大二,大三上的,想找个小厂试试手垂直向上升的,可以吃透它,面试官问你遇到的困难或者是你觉得难点,就可以重点讲一人一单这个解决方法和流程,越详细越好。 4.前提是大家不用直接用这套模板,太多人用了,这也是我从网上找的别人的,巧用AI让它改改项

By Ne0inhk