杰瑞科技汇

Python如何运行application?

运行一个简单的 Python 脚本

这是最基础的情况,你的 "Application" 就是一个 .py 文件。

Python如何运行application?-图1
(图片来源网络,侵删)

准备你的 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

预期输出:

Python如何运行application?-图2
(图片来源网络,侵删)
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 即可停止运行。


运行一个包含依赖的项目

当你的项目变大,会用到很多第三方库时,你需要一个依赖管理工具。

使用 piprequirements.txt

这是最常见的管理方式。

步骤:

Python如何运行application?-图3
(图片来源网络,侵删)
  1. 安装依赖: 创建一个 requirements.txt 文件,列出你的项目所需的所有库及其版本。

    # requirements.txt
    requests==2.31.0
    pandas==2.0.3
  2. 创建你的应用: 创建一个 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()
  3. 安装并运行: 在终端中,确保你在项目根目录下,执行以下命令来安装所有依赖:

    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.modulepython path/to/main.py

进阶:如何让应用更好地“运行”?

当你想让应用在后台稳定运行、开机自启、方便管理时,你会接触到以下工具:

  1. 虚拟环境

    • 为什么用? 为每个项目创建一个独立的、隔离的 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
  2. 生产级 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 实例名
  3. 进程管理器

    • 为什么用? 让 Web 服务器在后台运行,自动崩溃重启,记录日志等。
    • 工具systemd (Linux), Supervisor (跨平台), PM2 (主要用于 Node.js, 但也可用于 Python)。
    • 示例 (使用 systemd): 创建一个服务文件 /etc/systemd/system/mywebapp.service,然后使用 systemctl start mywebapp 来管理服务。

希望这个从入门到进阶的指南能帮助你全面理解如何在 Python 中运行一个应用程序!

分享:
扫描分享到社交APP
上一篇
下一篇