繁体   English   中英

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

[英]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. 我试过插入#! /usr/bin/python #! /usr/bin/python位于test.py文件的顶部但没有用

  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下,我找到了/System/Library/Frameworks/Python.framework/Versions 在文件夹/Library/Frameworks/Python.framework/Versions下,我找到了/Library/Frameworks/Python.framework/Versions


我自己解决了这个问题并在下面发布了答案

终端加载了许多可以修改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值应用于您帐户的系统。

也可以看看:

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

我一直在使用zsh而不是bash。 将CodeRunner更新到最新版本后,该应用程序默认使用bash。 所以我只需要在运行代码来解决问题时,转到Preference> Advanced菜单并取消勾选在登录模式下调用bash的复选框。

在Sublime Text3中,解决方案在以下链接中: https//stackoverflow.com/a/38574286/6631854

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM