在Linux系统中使用命令行运行Python是开发者必备的基础技能,无论是脚本执行、自动化任务还是项目开发都依赖这一操作,以下为详细指南,涵盖基础到进阶场景,所有步骤均基于主流Linux发行版(如Ubuntu、CentOS)验证,确保可靠性和准确性。
检查Python环境
在运行前,确认系统已安装Python:
# 检查Python 2(旧版兼容) python --version
- 若未安装,通过包管理器安装:
sudo apt update && sudo apt install python3 # Ubuntu/Debian sudo yum install python3 # CentOS/RHEL
运行Python的三种核心方式
交互式解释器(实时执行代码)
直接启动Python解释器:
python3 # 启动Python 3
- 输入代码后实时执行(如
print("Hello Linux")
),按Ctrl+D
或输入exit()
退出。
运行脚本文件(.py文件)
假设脚本名为 hello.py
:
# 创建文件 echo 'print("Hello from Python!")' > hello.py # 运行脚本 python3 hello.py
输出结果:Hello from Python!
直接执行脚本(需可执行权限)
- 步骤1:在脚本首行添加Shebang声明解释器路径:
#!/usr/bin/env python3 # 自动定位python3路径 print("Direct execution works!")
- 步骤2:赋予文件可执行权限:
chmod +x hello.py # 添加执行权限
- 步骤3:直接运行:
./hello.py # 注意路径前缀"./"
处理多版本Python环境
场景1:明确指定版本
python3.8 script.py # 使用Python 3.8 python2.7 legacy.py # 使用Python 2.7
场景2:修改默认版本(通过update-alternatives)
sudo update-alternatives --config python3 # 从已安装版本中选择
虚拟环境管理(隔离项目依赖)
创建并激活虚拟环境
python3 -m venv myenv # 创建名为myenv的虚拟环境 source myenv/bin/activate # 激活环境(提示符会变化)
在虚拟环境中运行脚本
(myenv) $ python3 hello.py # 环境激活后直接运行
退出虚拟环境
deactivate # 返回全局环境
常见问题解决方案
-
Command 'python3' not found
- 安装Python 3:
sudo apt install python3-minimal
- 检查路径:
which python3
或ls /usr/bin/python*
- 安装Python 3:
-
Permission denied
- 添加执行权限:
chmod +x script.py
- 或以解释器显式运行:
python3 script.py
- 添加执行权限:
-
脚本编码错误(SyntaxError)
- 确保文件保存为UTF-8编码
- 首行添加编码声明:
# -*- coding: utf-8 -*-
-
依赖缺失(ModuleNotFoundError)
- 在虚拟环境中安装包:
pip install package_name
- 全局安装(不推荐):
sudo pip3 install package_name
- 在虚拟环境中安装包:
进阶技巧
- 调试模式:使用
python3 -m pdb script.py
启动调试器 - 传递参数:通过
sys.argv
获取命令行参数# script.py内容 import sys print("Arguments:", sys.argv[1:])
运行:
python3 script.py arg1 arg2
- 定时任务:通过cron定时运行Python脚本
crontab -e # 添加行(每天6点执行) 0 6 * * * /usr/bin/python3 /path/to/script.py
最佳实践建议
- 优先使用Python 3:Python 2已停止维护,新项目务必用Python 3。
- 依赖隔离:始终在虚拟环境中运行项目,避免包冲突(
venv
或conda
)。 - 路径规范:脚本中使用绝对路径或基于
os.path.dirname(__file__)
的动态路径。 - 日志记录:替代
print()
,使用logging
模块记录运行状态。
引用说明参考Python官方文档(docs.python.org)及Linux man-pages,遵循POSIX标准,虚拟环境部分基于
venv
模块规范,适用于Python 3.3+版本。
通过命令行高效运行Python是Linux开发的核心能力,掌握上述方法后,可无缝衔接自动化部署、数据处理等高级应用,遇到问题时,善用 --help
参数(如 python3 --help
)或社区资源(如Stack Overflow)进一步排查。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8410.html