Agent入门阶段-编程基础-Python:Python 开发环境与运行方式

本章目标

学完后你至少应该能做到:

  • 知道 Python 是解释型语言,代码通常通过解释器运行
  • 会检查本机 Python 和 pip 是否可用
  • 会创建项目目录和虚拟环境
  • 会运行简单的 .py 脚本
  • 能看懂基础的命令行参数
  • 能区分"代码问题"和"环境问题"

1. Python 是什么

Python 是一种通用编程语言,特点是:

  • 语法相对直观,适合入门
  • 生态很广,适合脚本、后端、自动化、数据处理、AI 工具开发
  • 常见使用方式是直接运行 .py 文件

你可以把 Python 先理解成两部分:

  • Python 语言:你写的语法规则,比如变量、函数、循环
  • Python 解释器:真正执行代码的程序,比如 python3

当你写了一个 hello.py 文件后,真正执行它的是解释器,而不是这个文件自己会"跑起来"。

2. 先确认环境是否可用

在终端执行下面几个命令:

bash 复制代码
python3 --version
which python3
pip3 --version

如果你看到版本号,说明系统里已经有可用的 Python。

常见现象和含义:

  • python3 --version 输出 Python 3.x.x:说明 Python 3 可用
  • which python3 输出一个路径:说明终端能找到解释器
  • pip3 --version 输出版本和路径:说明包管理工具可用

为什么很多教程写 python,而这里更推荐 python3

  • 在不少系统里,python 可能不存在
  • 有些旧环境里,python 可能仍然指向 Python 2
  • python3 含义更明确,入门阶段不容易混淆

如果你的环境里 python 也能直接用,后续完全可以统一一种命令风格,但前提是你知道自己当前调用的是哪个版本。

3. 推荐的项目目录结构

刚开始不要把文件乱丢到桌面。建议从一开始就养成目录习惯:

text 复制代码
python-demo/
|-- .venv/
|-- examples/
|   |-- hello_python.py
|   `-- cli_args_demo.py
`-- README.md

目录说明:

  • .venv/:虚拟环境目录,用来隔离项目依赖
  • examples/:示例代码
  • README.md:说明这个目录是做什么的

本章已经按这个思路提供了两个示例文件,放在当前目录的 examples 下。

4. 第一个 Python 脚本

文件:(./examples/hello_python.py)

python 复制代码
print("你好,Python")

course_name = "Python 开发环境与运行方式"
lesson_index = 1
is_ready = True

print(f"当前章节:第 {lesson_index} 章")
print(f"课程主题:{course_name}")
print(f"环境是否准备完成:{is_ready}")

运行命令:

bash 复制代码
python3 examples/hello_python.py

代码说明

第 1 行:

  • print("你好,Python") 会把括号里的内容输出到终端
  • print 是 Python 最常见的输出函数
  • 字符串内容用引号包起来,单引号和双引号都可以

第 3 行:

  • course_name = "Python 开发环境与运行方式" 是变量赋值
  • 左边的 course_name 是变量名
  • 右边的字符串是变量当前保存的值
  • 等号在这里不是数学里的"相等",而是"把右边的值交给左边的变量"

第 4 行:

  • lesson_index = 1 定义了一个整数变量
  • Python 不要求你先写类型声明,解释器会根据值推断类型

第 5 行:

  • is_ready = True 定义了一个布尔值
  • TrueFalse 首字母必须大写

第 7 到 9 行:

  • 这里使用了 f"..." 这种格式化字符串写法
  • 花括号 {} 里的变量会在输出时被替换成实际值
  • 这是 Python 里最常用、最直观的字符串拼接方式

这个文件虽然很简单,但已经包含了入门最关键的几件事:

  • Python 文件以 .py 结尾
  • 代码通常是一行一行顺序执行
  • 变量可以保存不同类型的值
  • 输出结果要通过运行脚本才能看到

5. Python 脚本的几种常见运行方式

方式 1:交互式解释器

命令:

bash 复制代码
python3

进入后你会看到提示符,然后可以直接输入:

python 复制代码
print("hello")
2 + 3
name = "Alice"
print(name)

这种方式适合:

  • 临时测试一两行代码
  • 验证语法
  • 快速观察表达式结果

不适合:

  • 编写正式脚本
  • 保存长期代码
  • 管理稍微复杂一点的逻辑

退出方式通常是:

  • macOS / Linux:Ctrl + D
  • Windows:Ctrl + Z 后回车

方式 2:运行脚本文件

命令:

bash 复制代码
python3 examples/hello_python.py

这是最常见、最正式的入门方式。你把代码写进文件,再由 Python 解释器执行这个文件。

这个命令可以拆成两部分理解:

  • python3:解释器程序
  • examples/hello_python.py:要执行的脚本文件路径

方式 3:带参数运行脚本

文件:(./examples/cli_args_demo.py)

python 复制代码
import sys
from pathlib import Path


def build_message(argv: list[str]) -> str:
    script_name = Path(argv[0]).name
    args = argv[1:]

    if not args:
        return f"脚本 {script_name} 已启动,但你还没有传入任何参数。"

    joined_args = ", ".join(args)
    return f"脚本 {script_name} 收到 {len(args)} 个参数:{joined_args}"


def main() -> None:
    print("这是一个命令行参数示例。")
    print(build_message(sys.argv))


if __name__ == "__main__":
    main()

运行命令:

bash 复制代码
python3 examples/cli_args_demo.py
python3 examples/cli_args_demo.py apple banana 2026

代码说明

第 1 行:

  • import sys 表示导入 Python 标准库里的 sys 模块
  • sys.argv 用来获取命令行参数

第 2 行:

  • from pathlib import Path 导入 Path
  • Path 是处理文件路径时非常常用的工具

第 5 行:

  • def build_message(argv: list[str]) -> str: 定义了一个函数
  • 函数名是 build_message
  • argv: list[str] 表示参数 argv 预期是字符串列表
  • -> str 表示这个函数会返回字符串

第 6 行:

  • argv[0] 通常是脚本本身的路径
  • Path(argv[0]).name 的作用是只取文件名部分
  • 如果直接打印 argv[0],有时会看到完整路径,不够直观

第 7 行:

  • argv[1:] 是切片写法,意思是"从第 2 个元素取到最后一个"
  • 这部分才是用户真正传入的参数

第 9 到 10 行:

  • if not args: 表示如果参数列表为空
  • 也就是用户只运行了脚本,但没有额外传参
  • 这种写法是 Python 里很常见的"空值判断"

第 12 行:

  • ", ".join(args) 会把列表中的字符串拼成一个大字符串
  • 例如 ["apple", "banana"] 会变成 "apple, banana"

第 16 到 18 行:

  • main() 是很多脚本里常见的入口函数
  • 好处是可以把"程序主流程"集中起来,结构更清晰

最后两行:

  • if __name__ == "__main__": 是 Python 脚本里非常重要的惯用写法
  • 当文件被直接运行时,这个条件为真,main() 会执行
  • 当文件被别的模块导入时,这里的代码不会自动执行

你现在不需要把它背下来,但必须知道它常见、重要,而且以后会反复看到。

6. pythonpython3pippip3 是什么关系

可以先这样理解:

  • python3:运行 Python 3 解释器
  • pip3:给 Python 3 安装第三方包

常见命令:

bash 复制代码
python3 --version
pip3 --version
python3 -m pip --version

为什么很多人更推荐:

bash 复制代码
python3 -m pip install 包名

原因是这能更明确地表示:

  • 我就是要用当前这个 python3 对应的 pip
  • 可以减少"包装进了别的 Python 环境里"的问题

例如:

bash 复制代码
python3 -m pip install requests

这条命令的意思不是"必须这样写",而是"这样更稳,更容易少踩坑"。

7. 虚拟环境为什么重要

很多初学者会直接把所有包装到系统 Python 里,短期看没问题,长期一定乱。

虚拟环境的作用是:

  • 给当前项目单独准备一套 Python 运行环境
  • 不同项目可以安装不同版本的依赖
  • 避免全局环境越来越混乱

你可以把它理解成:

  • 系统 Python:公共大环境
  • 虚拟环境:当前项目的小隔间

创建虚拟环境

在项目目录执行:

bash 复制代码
python3 -m venv .venv

这条命令的意思:

  • python3 -m venv:调用 Python 内置的 venv 模块
  • .venv:在当前目录创建一个叫 .venv 的虚拟环境文件夹

激活虚拟环境

macOS / Linux:

bash 复制代码
source .venv/bin/activate

Windows PowerShell:

powershell 复制代码
.venv\Scripts\Activate.ps1

Windows CMD:

cmd 复制代码
.venv\Scripts\activate.bat

激活后,终端前面通常会出现类似 (.venv) 的提示,表示你正在使用这个项目自己的 Python 环境。

退出虚拟环境

bash 复制代码
deactivate

在虚拟环境里安装包

bash 复制代码
python -m pip install requests

注意这里很多人会用 python 而不是 python3,原因是:

  • 激活虚拟环境后,当前终端里的 python 通常已经指向虚拟环境内部的解释器
  • 这时继续用 python -m pip 反而更自然

也就是说:

  • 没激活虚拟环境时,优先使用 python3
  • 激活虚拟环境后,优先确认 python 指向的是当前虚拟环境

8. 推荐的最小工作流

对于入门者,建议每次都按这个顺序做:

  1. 创建项目目录
  2. 进入项目目录
  3. 创建虚拟环境
  4. 激活虚拟环境
  5. 编写 .py 文件
  6. pythonpython3 运行脚本
  7. 需要第三方库时再安装依赖

示例:

bash 复制代码
mkdir python-demo
cd python-demo
python3 -m venv .venv
source .venv/bin/activate
python --version
python examples/hello_python.py

如果你还没有 examples/hello_python.py,就先自己创建一个再运行。

9. 常见错误和排查思路

command not found: python3

说明系统里没有找到 python3 命令,常见原因:

  • Python 没安装
  • 安装了,但没有加入命令行可识别的路径

No such file or directory

说明你给出的文件路径不对。重点检查:

  • 当前终端是不是在正确目录
  • 文件名有没有拼错
  • 相对路径是不是写错了

例如你在错误目录执行:

bash 复制代码
python3 examples/hello_python.py

就可能找不到文件。

ModuleNotFoundError

说明代码里导入了某个模块,但当前环境没有安装。

常见排查顺序:

  1. 先确认自己是不是已经激活了正确的虚拟环境
  2. 再确认包是不是安装到了当前环境
  3. 最后检查导入名和包名是否写错

双击 .py 文件没反应

入门阶段不要依赖双击运行。优先使用终端命令:

bash 复制代码
python3 文件名.py

这样更清楚,也更容易看到报错信息。

10. 本章总结

这一章你真正要拿下的不是某一行语法,而是下面这套基本能力:

  • 知道 Python 代码是靠解释器执行的
  • 会用 python3 运行 .py 文件
  • 知道 pip 是装依赖的,不是运行代码的
  • 理解虚拟环境是在做项目隔离
  • 能看懂最基础的脚本结构和命令行参数

如果这些已经熟悉,下一章再进入变量、数据类型、字符串、列表、字典这些语法内容,会顺很多。

相关推荐
咖啡星人k1 小时前
MonkeyCode 移动端深度体验:在手机上完成AI编程任务是什么感受
智能手机·ai编程·monkeycode
叫我:松哥1 小时前
基于深度卷积神经网络的水果图片分类算法设计与实现,有ResNet50的迁移学习模型,准确率达95%
人工智能·python·神经网络·机器学习·分类·cnn·迁移学习
名不经传的养虾人1 小时前
从0到1:企业级AI项目迭代日记 Vol.44|功能建好,和功能接通,是两件完全不同的事
人工智能·架构·agent·ai编程·企业ai
kishu_iOS&AI1 小时前
LLM —— 安全和合规性
安全·大模型·agent
Orchestrator_me1 小时前
Python pip install报SSL错误
python·ssl·pip
开源量化GO1 小时前
期货 K 线算信号 tick 级止损:天勤双序列 wait_update 触发规则
linux·运维·服务器·python
聆春烟雨簌簌1 小时前
LangChain4j使用文档
开发语言·python
ZFSS2 小时前
VS Code + Luma MCP 使用教程
人工智能·ai·ai作画·copilot·ai编程·ai写作
belong_my_offer2 小时前
在Pycharm中安装conda的保姆级教学
python