温馨提示×

Debian怎么设置Python运行参数

小樊
32
2026-07-31 23:00:37
栏目: 编程语言

在 Debian 系统中设置 Python 运行参数,常见场景有几种,不同需求对应不同做法。下面按由浅入深给你一个完整说明。


一、直接运行 Python 时设置参数(最常见)

1️⃣ 命令行参数(脚本内接收)

这是最推荐、最标准的方式。

示例脚本 test.py

import sys

print("参数列表:", sys.argv)

运行方式:

python3 test.py 参数1 参数2

输出:

参数列表: ['test.py', '参数1', '参数2']

✅ 适合:临时运行、调试、脚本传参


二、设置 Python 解释器参数(如 -O-u

1️⃣ 运行时直接加参数

python3 -O script.py

常用参数:

参数 作用
-O 优化模式(忽略 assert)
-u 禁用输出缓冲
-v 显示模块加载信息
-W ignore 忽略警告

三、通过环境变量设置 Python 运行参数

1️⃣ PYTHONPATH(模块搜索路径)

export PYTHONPATH=/opt/mylib:$PYTHONPATH
python3 script.py

永久生效(Debian):

echo 'export PYTHONPATH=/opt/mylib:$PYTHONPATH' >> ~/.bashrc

2️⃣ PYTHONSTARTUP(交互式解释器启动时执行)

export PYTHONSTARTUP=~/.pythonrc.py

3️⃣ PYTHONUNBUFFERED=1(常用于日志)

export PYTHONUNBUFFERED=1
python3 script.py

四、使用 shebang + 参数(脚本级别)

✅ 推荐做法(Linux / Debian 通用)

#!/usr/bin/env python3

给脚本加执行权限:

chmod +x script.py
./script.py 参数

⚠️ shebang 行不能带复杂参数,如需要请配合 wrapper 脚本。


五、systemd 服务中设置 Python 运行参数(服务器/后台程序)

如果你用 Debian 作为服务器运行 Python:

# /etc/systemd/system/myservice.service
[Service]
ExecStart=/usr/bin/python3 -u /opt/app/main.py
Environment=PYTHONUNBUFFERED=1

重载并启动:

sudo systemctl daemon-reload
sudo systemctl start myservice

✅ 适合:生产环境、长期运行程序


六、虚拟环境中设置(推荐开发环境)

python3 -m venv venv
source venv/bin/activate

在虚拟环境中:

  • 可单独设置 PYTHONPATH
  • 不影响系统 Python

七、通过 argparse 设置结构化参数(专业脚本)

示例:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--port", type=int, default=8080)
args = parser.parse_args()

print(args.port)

运行:

python3 script.py --port 9000

✅ 适合:正式工具、命令行程序


八、总结(按使用场景)

场景 推荐方式
脚本传参 sys.argv / argparse
解释器参数 python3 -O
环境变量 PYTHONPATH / PYTHONUNBUFFERED
后台服务 systemd
开发环境 venv

如果你能具体说明:

  • ✅ 是 脚本参数 还是 解释器参数
  • ✅ 是否用于 服务器 / systemd / Docker
  • ✅ Python 版本(2.x / 3.x)

我可以直接给你最合适的一套配置示例

0