2016-07-24 98 views
4

当我在Sublime Text或CodeRunner中编译test.py(一个非常简单的Python文件)时,出现错误:/bin/bash: python: command not found。然后我在终端应用程序中输入python test.py,它工作。后来我下载了Pycharm并重新编译了这个文件,它也起作用了!在某些IDE中未找到Mac OS X/bin/bash:python:命令

因此,我假设有某种路径设置或其他设置不正确。我在互联网上搜索了很长时间,但没有用。请帮助或尝试提供一些想法如何解决问题。

这里还有一些细节:

  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。


我已经解决了自己的问题和后下

+0

哪个版本的Python你想与运行您的程序? 2.7? 3.5(推荐)? – MattDMo

+0

在CodeRunner IDE中,我可以选择使用Python2或Python3。所以我尝试了两种都失败了。 – ChenYang

回答

0

谢谢大家谁帮助。我自己解决了这个问题。

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

在崇高的文本3,解决的办法是在这个环节:https://stackoverflow.com/a/38574286/6631854

4

答案的终端加载了一些文件,可以修改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值应用于您的帐户系统。

参见: