Mac OS X /bin/bash: python: 在某些 IDE 中找不到命令

Mac OS X /bin/bash: python: command not found in some IDE

当我在 Sublime Text 或 CodeRunner 中编译 test.py(一个非常简单的 Python 文件)时,出现错误:/bin/bash: python: command not found。然后我在终端应用程序中输入 python test.py,它起作用了。后来下载了Pycharm重新编译文件,也成功了!

所以我假设有某种路径设置或其他设置不正确。我在互联网上搜索了很长时间但没有用。请帮助或尝试给出一些解决问题的想法。

以下是一些详细信息:

  1. 我试过在 test.py 文件的顶部插入 #! /usr/bin/python 但没用

  2. 终端中 echo "$PATH" 的输出是 /usr/local/sbin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Users/chenyang/Downloads/android-sdk-macosx/platform-tools

  3. 我在我的 macbook 中发现了 Python 的几个版本:2.6、2.7、3.2、3.3、3.5。在文件夹 /System/Library/Frameworks/Python.framework/Versions 下,我找到了 2.6、2.7。在文件夹 /Library/Frameworks/Python.framework/Versions 下我找到了 3.2, 3,3, 3.5.


我自己解决了这个问题post下面的答案

终端会加载一些可以修改 PATH 变量的文件,包括 ~/.profile~/.bashrc~/.bash_profile 等。当 [=38] 时不会加载这些文件=] OS X 系统 UI 启动/当您通过 Finder 应用程序登录到您的用户配置文件时。因此,通过 Finder 启动的应用程序不会继承这些文件中设置的 PATH 和其他环境变量。

不同版本的Mac OSX有不同的设置环境变量的解决方案,以便它们被Finder加载。 Mac OS X 的旧版本支持名为 ~/.MacOSX/environment.plist 的文件,该文件可用于指定环境。 OS X 的较新版本使用 launchctl 工具来设置以 launchctl 启动的应用程序可见的环境变量(负责启动系统 UI 和其他系统服务).

简而言之,使用命令:

launchctl setenv <variable-name> <variable-value>

为当前用户设置这个环境变量。 Apps 运行 作为当前用户将继承指定的变量。因此,例如,您可以这样做:

launchctl setenv PATH "$PATH"

...从终端将您当前的 PATH 值应用到您帐户的系统。

另请参阅:

感谢所有帮助过的人。我自己解决了这个问题。

我一直在使用 zsh 而不是 bash。将 CodeRunner 更新到最新版本后,应用程序默认使用 bash。所以我只需要转到首选项>高级菜单并取消选中 在登录模式下调用 bash 当 运行 代码 来解决问题。

在Sublime Text3中,解决方案是这样link: