当我在 Sublime Text 或 CodeRunner 中编译 test.py
(一个非常简单的 Python 文件)时,出现错误: /bin/bash: python: command not found
。然后我在终端应用程序中输入 python test.py
,它起作用了。后来我下载了 Pycharm 并再次编译该文件,它也起作用了!
所以我假设有某种路径设置或其他设置不正确的东西。我在互联网上搜索了很长时间,但没有用。请帮助或尝试给出一些如何解决问题的想法。
以下是一些细节:
#! /usr/bin/python
文件的顶部插入 test.py
但没有使用 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
/System/Library/Frameworks/Python.framework/Versions
下我找到了 2.6、2.7。在文件夹 /Library/Frameworks/Python.framework/Versions
下,我找到了 3.2、3,3、3.5。 我自己解决了这个问题,并在 下面发布了答案
最佳答案
终端加载了许多可以修改您的 PATH 变量的文件,包括 ~/.profile
、 ~/.bashrc
、 ~/.bash_profile
等。当 Mac OS X 系统 UI 启动时/当您通过 Finder 应用程序登录到您的用户配置文件时,这些文件不会被加载。因此,通过 Finder 启动的应用程序不会继承这些文件中设置的 PATH 和其他环境变量。
不同版本的 Mac OS X 有不同的设置环境变量的解决方案,以便它们由 Finder 加载。较旧版本的 Mac OS X 支持名为 ~/.MacOSX/environment.plist
的文件,可用于指定环境。较新版本的 OS X 使用 launchctl
工具来设置由 launchctl
(负责启动系统 UI 和其他系统服务)启动的应用程序看到的环境变量。
简而言之,使用命令:
launchctl setenv <variable-name> <variable-value>
为当前用户设置这个环境变量。以当前用户身份运行的应用程序将继承指定的变量。因此,例如,您可以执行以下操作:
launchctl setenv PATH "$PATH"
...从终端将您当前的 PATH 值应用于您帐户的系统。
也可以看看:
关于python - Mac OS X/bin/bash : python: command not found in some IDE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38554566/