杰瑞科技汇

如何在Mac Shell中正确运行Python脚本?

直接运行 Python 脚本文件

这是最基本也是最常用的方法,假设你有一个 Python 脚本文件。

如何在Mac Shell中正确运行Python脚本?-图1
(图片来源网络,侵删)

准备一个 Python 文件

创建一个名为 hello.py 的文件,内容如下:

# hello.py
print("Hello from Python!")
name = input("What's your name? ")
print(f"Nice to meet you, {name}!")

在 Shell 中运行

打开你的终端(Terminal),使用 cd 命令切换到 hello.py 文件所在的目录,然后运行:

python3 hello.py

解释:

  • python3: 这是关键,在 macOS 上,系统自带的 Python 2 版本通常可以通过 python 命令调用,但它非常老旧且不推荐使用,现代的 Python 3 版本则通过 python3 命令调用。强烈建议始终使用 python3
  • hello.py: 这是你要执行的 Python 脚本的文件名。

运行示例:

如何在Mac Shell中正确运行Python脚本?-图2
(图片来源网络,侵删)
$ # 假设文件在你的桌面
$ cd ~/Desktop
$ python3 hello.py
Hello from Python!
What's your name? Alice
Nice to meet you, Alice!

在 Shell 中交互式运行 Python

你还可以直接在 Shell 中启动一个 Python 交互式环境(REPL),在这里你可以逐行输入和执行 Python 代码。

启动 Python 解释器

在终端中直接输入 python3 并按回车:

$ python3

你会看到类似下面的提示符,表示你已经进入了 Python 交互式环境:

Python 3.x.x (default, ... [...])
Type "help", "copyright", "credits" or "license" for more information.
>>> 

输入和执行代码

现在你可以直接输入 Python 代码,按回车即可执行:

>>> print("Hello, World!")
Hello, World!
>>> 2 + 3
5
>>> my_variable = "This is a test"
>>> print(my_variable)
This is a test

退出交互式环境

当你想退出时,可以输入以下命令之一:

>>> exit()
# 或者
>>> quit()
# 或者使用快捷键 Ctrl + D

执行单行 Python 命令

有时候你不想创建一个文件,只是想快速执行一行简单的代码,可以使用 -c (command) 选项。

语法:

python3 -c "your_python_code"

示例:

# 打印 "Hello, one-liner!"
$ python3 -c "print('Hello, one-liner!')"
Hello, one-liner!
# 进行一些数学计算
$ python3 -c "print(10 ** 3)"
1000
# 注意:如果代码中包含 shell 特殊字符(如 $, `),最好用单引号 ' 包裹起来
$ my_name="Bob"
$ python3 -c 'print(f"Hello, {my_name}!")'
Hello, Bob!

为 Python 脚本添加可执行权限(推荐)

为了方便,你可以让 Python 脚本像其他可执行程序(如 ls, git)一样直接运行,而无需每次都输入 python3

添加 "Shebang" 行

在你的 hello.py 文件的最顶部,添加以下第一行:

#!/usr/bin/env python3
# hello.py
print("Hello from Python!")
name = input("What's your name? ")
print(f"Nice to meet you, {name}!")
  • #!/usr/bin/env python3 被称为 "Shebang",它告诉系统:“请使用 env 程序来找到 python3 解释器,并用它来执行这个脚本”,使用 env 是一个好习惯,因为它能自动找到用户环境中的 Python 3,而不是硬编码一个固定的路径。

赋予可执行权限

在终端中,使用 chmod 命令为文件添加可执行权限:

chmod +x hello.py

直接运行

你就可以在终端中直接运行这个脚本了(注意,前面不需要 python3):

$ ./hello.py
Hello from Python!
What's your name? Charlie
Nice to meet you, Charlie!
  • 是必须的,它告诉 Shell 在当前目录下寻找这个可执行文件。

常见问题与解决方法

问题 1:zsh: command not found: python3

原因: 系统的 PATH 环境变量中没有包含 Python 3 的安装路径。

解决方案:

  1. 使用 Homebrew 安装/更新 Python (推荐): Homebrew 是 macOS 上最流行的包管理器,如果你已经安装了 Homebrew,可以运行:

    brew install python

    这会安装最新的 Python 3,brew 会自动帮你配置好 PATH,安装完成后,重新打开终端再试。

  2. 手动添加到 PATH (不推荐,除非你知道你在做什么): 如果你已经通过其他方式安装了 Python 3,可以找到它的安装路径(通常是 /usr/local/bin/python3),然后将其添加到 Shell 的配置文件中。

    • 打开配置文件(~/.zshrc,如果你使用的是 Zsh,这是 macOS 默认的 Shell):
      open -e ~/.zshrc
    • 在文件末尾添加下面这行:
      export PATH="/usr/local/bin:$PATH"
    • 保存文件,然后在终端中运行 source ~/.zshrc 使其生效。

问题 2:pythonpython3 的区别

  • python: 在 macOS 系统中,这通常指向一个过时的 Python 2.7 版本,Python 2 已在 2025 年停止支持,强烈建议不要在新项目中使用。
  • python3: 这是指向你安装的现代 Python 3 版本的正确命令。在所有新项目中,都应坚持使用 python3

问题 3:模块找不到 (ModuleNotFoundError)

当你尝试运行一个使用了第三方库(如 requests, numpy)的脚本时,可能会遇到这个错误。

原因: 该库没有在你的 Python 环境中安装。

解决方案:

使用 pip (Python 的包安装器) 来安装,同样,为了避免和旧版本冲突,请使用 pip3

# 安装 requests 库
pip3 install requests
# 然后再运行你的脚本
python3 your_script.py

场景 命令 说明
运行脚本文件 python3 my_script.py 最常用的方法,确保使用 python3
交互式编程 python3 进入一个可以逐行执行代码的环境。
执行单行代码 python3 -c "print('hi')" 快速测试一行代码,无需创建文件。
直接运行脚本 ./my_script.py 需要先在脚本顶部添加 #!/usr/bin/env python3 并使用 chmod +x 赋予权限。

希望这份详细的指南能帮助你在 macOS Shell 中顺利地运行 Python!

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