运行一个简单的 Python 脚本
这是最基础的情况,你的 "Application" 就是一个 .py 文件。

准备你的 Python 脚本
创建一个名为 my_app.py 的文件,内容如下:
# my_app.py
import time
import datetime
def greet(name):
"""一个简单的问候函数"""
return f"Hello, {name}! Welcome to the application."
def main():
"""应用程序的主入口"""
print("Application is starting...")
user_name = "World"
message = greet(user_name)
print(message)
# 模拟一个持续运行的任务
while True:
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"Application is running... Current time: {now}")
time.sleep(5) # 每5秒打印一次时间
if __name__ == "__main__":
# 这部分代码只有在直接运行此脚本时才会执行
# 如果被其他模块导入,则不会执行
main()
运行脚本
打开你的终端(Windows上是CMD或PowerShell,macOS或Linux上是Terminal),使用 cd 命令进入到 my_app.py 文件所在的目录,然后执行以下命令:
python my_app.py
或者,如果你的系统有多个 Python 版本,你可能需要使用 python3:
python3 my_app.py
预期输出:

Application is starting...
Hello, World! Welcome to the application.
Application is running... Current time: 2025-10-27 10:30:00
Application is running... Current time: 2025-10-27 10:30:05
Application is running... Current time: 2025-10-27 10:30:10
... (会一直持续下去)
如何停止:
在终端中按下 Ctrl + C 即可停止运行。
运行一个包含依赖的项目
当你的项目变大,会用到很多第三方库时,你需要一个依赖管理工具。
使用 pip 和 requirements.txt
这是最常见的管理方式。
步骤:

-
安装依赖: 创建一个
requirements.txt文件,列出你的项目所需的所有库及其版本。# requirements.txt requests==2.31.0 pandas==2.0.3 -
创建你的应用: 创建一个
app.py文件,使用这些库:# app.py import requests import pandas as pd def fetch_data(): """从网络获取数据""" try: response = requests.get("https://api.github.com", timeout=5) response.raise_for_status() # 如果请求失败则抛出异常 return response.json() except requests.exceptions.RequestException as e: print(f"Error fetching data: {e}") return None def main(): print("Fetching data from GitHub API...") data = fetch_data() if data: print("Successfully fetched data!") # 可以用 pandas 处理数据... # df = pd.DataFrame([data]) # print(df) else: print("Failed to fetch data.") if __name__ == "__main__": main() -
安装并运行: 在终端中,确保你在项目根目录下,执行以下命令来安装所有依赖:
pip install -r requirements.txt
然后运行你的应用:
python app.py
运行一个 Web 应用
Web 应用是 "Application" 的一个典型例子,我们将使用非常流行的 Flask 框架作为示例。
安装 Flask
pip install Flask
创建一个简单的 Web 应用
创建一个名为 app.py 的文件:
# app.py
from flask import Flask
# 创建一个 Flask 应用实例
app = Flask(__name__)
# 定义一个路由,当用户访问根URL ('/') 时,执行 hello_world 函数
@app.route('/')
def hello_world():
return '<h1>Hello, World! This is a Web Application!</h1>'
# 定义另一个路由,接受一个URL参数
@app.route('/user/<username>')
def show_user_profile(username):
# 显示用户名
return f'<h1>User: {username}</h1>'
# 如果直接运行此脚本,则启动开发服务器
if __name__ == '__main__':
# debug=True 会在代码修改后自动重载服务器,并方便调试
app.run(debug=True)
运行 Web 应用
在终端中执行:
python app.py
你会看到类似下面的输出:
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: ...
打开你的网页浏览器,访问 http://127.0.0.1:5000,你就能看到 "Hello, World!" 的字样,访问 http://127.0.0.1:5000/user/Alice,则会看到 "User: Alice"。
运行一个桌面 GUI 应用
Python 也可以创建有图形界面的桌面应用程序,我们将使用 Tkinter(Python 自带)作为示例。
创建一个简单的 GUI 应用
创建一个名为 gui_app.py 的文件:
# gui_app.py
import tkinter as tk
from tkinter import messagebox
def show_message():
"""当按钮被点击时,弹出一个消息框"""
messagebox.showinfo("Hello", "Welcome to the GUI App!")
# 创建主窗口
window = tk.Tk()
window.title("My First GUI App")
window.geometry("300x200") # 设置窗口大小
# 创建一个标签
label = tk.Label(window, text="Hello, GUI World!")
label.pack(pady=20) # pady 添加一些垂直间距
# 创建一个按钮
button = tk.Button(window, text="Click Me!", command=show_message)
button.pack(pady=10)
# 启动主事件循环
window.mainloop()
运行 GUI 应用
在终端中执行:
python gui_app.py
一个简单的窗口会弹出,你可以点击按钮来触发事件。
运行一个更复杂的项目(结构化应用)
对于大型项目,代码通常被组织成多个文件和目录(包)。
项目结构示例:
my_project/
├── app/
│ ├── __init__.py
│ ├── main.py
│ └── utils.py
├── requirements.txt
└── README.md
-
app/utils.py:def helper_function(): return "This is a helper function." -
app/main.py:from app.utils import helper_function # 从同一包的 utils 模块导入 def main(): print("Running the structured application...") message = helper_function() print(message) if __name__ == "__main__": main() -
app/__init__.py: 这个文件告诉 Python 将app目录当作一个包来处理,可以为空,也可以包含包的初始化代码。 -
requirements.txt:# 可以添加一些依赖
如何运行:
在 my_project 的根目录下,执行:
# 方法一:直接运行主模块 python app/main.py # 方法二:将项目根目录添加到 PYTHONPATH,然后运行 # export PYTHONPATH=$PYTHONPATH:/path/to/my_project (在 Linux/macOS) # set PYTHONPATH=%PYTHONPATH%;C:\path\to\my_project (在 Windows) # 然后在任何位置运行 python -m app.main
总结与关键概念
| 场景 | 核心工具/概念 | 如何运行 |
|---|---|---|
| 简单脚本 | Python 解释器 | python your_script.py |
| 带依赖项目 | pip, requirements.txt |
pip install -r requirements.txt python your_script.py |
| Web 应用 | 框架 (如 Flask, Django) | pip install flask python app.py (开发服务器) |
| GUI 应用 | 库 (如 Tkinter, PyQt) | python gui_app.py |
| 结构化项目 | 包 (__init__.py), 模块 |
python -m package.module 或 python path/to/main.py |
进阶:如何让应用更好地“运行”?
当你想让应用在后台稳定运行、开机自启、方便管理时,你会接触到以下工具:
-
虚拟环境:
-
为什么用? 为每个项目创建一个独立的、隔离的 Python 环境,避免不同项目之间的库版本冲突。
-
工具:
venv(Python内置),virtualenv,conda。 -
示例:
# 创建 python -m venv myenv # 激活 # Windows: myenv\Scripts\activate # macOS/Linux: source myenv/bin/activate # 安装依赖 pip install -r requirements.txt # 运行 python app.py # 退出环境 deactivate
-
-
生产级 Web 服务器:
-
为什么用? Flask/Django 自带的服务器(开发服务器)性能差,不安全,不适合用于真实网站。
-
工具:Gunicorn, uWSGI。
-
示例 (使用 Gunicorn):
# 先安装 pip install gunicorn # 运行 Flask 应用 (假设 app 对象在 app.py 中) gunicorn -w 4 -b 0.0.0.0:8000 app:app # -w 4: 使用4个工作进程 # -b 0.0.0.0:8000: 监听在所有网络接口的8000端口 # app:app: 第一个 'app' 是文件名(app.py),第二个 'app' 是 Flask 实例名
-
-
进程管理器:
- 为什么用? 让 Web 服务器在后台运行,自动崩溃重启,记录日志等。
- 工具:
systemd(Linux),Supervisor(跨平台),PM2(主要用于 Node.js, 但也可用于 Python)。 - 示例 (使用
systemd): 创建一个服务文件/etc/systemd/system/mywebapp.service,然后使用systemctl start mywebapp来管理服务。
希望这个从入门到进阶的指南能帮助你全面理解如何在 Python 中运行一个应用程序!
