在 Debian 系统中设置 Python 运行参数,常见场景有几种,不同需求对应不同做法。下面按由浅入深给你一个完整说明。
这是最推荐、最标准的方式。
示例脚本 test.py:
import sys
print("参数列表:", sys.argv)
运行方式:
python3 test.py 参数1 参数2
输出:
参数列表: ['test.py', '参数1', '参数2']
✅ 适合:临时运行、调试、脚本传参
-O、-u)python3 -O script.py
常用参数:
| 参数 | 作用 |
|---|---|
-O |
优化模式(忽略 assert) |
-u |
禁用输出缓冲 |
-v |
显示模块加载信息 |
-W ignore |
忽略警告 |
PYTHONPATH(模块搜索路径)export PYTHONPATH=/opt/mylib:$PYTHONPATH
python3 script.py
永久生效(Debian):
echo 'export PYTHONPATH=/opt/mylib:$PYTHONPATH' >> ~/.bashrc
PYTHONSTARTUP(交互式解释器启动时执行)export PYTHONSTARTUP=~/.pythonrc.py
PYTHONUNBUFFERED=1(常用于日志)export PYTHONUNBUFFERED=1
python3 script.py
#!/usr/bin/env python3
给脚本加执行权限:
chmod +x script.py
./script.py 参数
⚠️ shebang 行不能带复杂参数,如需要请配合 wrapper 脚本。
如果你用 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
在虚拟环境中:
PYTHONPATHargparse 设置结构化参数(专业脚本)示例:
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 |
如果你能具体说明:
我可以直接给你最合适的一套配置示例。