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重新编译文件,也成功了!
所以我假设有某种路径设置或其他设置不正确。我在互联网上搜索了很长时间但没有用。请帮助或尝试给出一些解决问题的想法。
以下是一些详细信息:
我试过在 test.py
文件的顶部插入 #! /usr/bin/python
但没用
终端中 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
我在我的 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:
当我在 Sublime Text 或 CodeRunner 中编译 test.py
(一个非常简单的 Python 文件)时,出现错误:/bin/bash: python: command not found
。然后我在终端应用程序中输入 python test.py
,它起作用了。后来下载了Pycharm重新编译文件,也成功了!
所以我假设有某种路径设置或其他设置不正确。我在互联网上搜索了很长时间但没有用。请帮助或尝试给出一些解决问题的想法。
以下是一些详细信息:
我试过在
test.py
文件的顶部插入#! /usr/bin/python
但没用终端中
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
我在我的 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: