在Mac OS X Lion上设置环境变量

2024-04-20 08:49:17 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

首先,要认识到OS X是在Unix上构建的。这就是.bash_配置文件的来源。在OS X中启动终端应用程序时,默认情况下会得到bash shell。bash shell来自Unix,加载时运行.bash_配置文件脚本。您可以修改此脚本以供用户更改设置。此文件位于:

~/.bash_profile

小牛的更新

OS X Mavericks不使用environment.plist—至少不用于OS X windows应用程序。您可以将launchd configuration用于窗口应用程序。仍然支持.bash_配置文件,因为它是终端中使用的bash shell的一部分。

仅限狮子和山狮

OSX窗口应用程序从environment.plist文件接收环境变量。这可能就是您所说的“.plist”文件。此文件位于:

~/.MacOSX/environment.plist

如果对environment.plist文件进行更改,则OS X windows应用程序(包括终端应用程序)将设置这些环境变量。在.bash_配置文件中设置的任何环境变量都只会影响bash shell。

通常,我只在.bash_配置文件中设置变量,而不更改.plist文件(或在Mavericks上启动d文件)。大多数OSX窗口应用程序不需要任何自定义环境。只有当应用程序实际需要特定的环境变量时,我才会更改environment.plist(或在Mavericks上启动d文件)。

听起来您想要的是更改environment.plist文件,而不是.bash_配置文件。

最后一件事,如果你找那些文件,我想你找不到。如果我没记错的话,它们不是我最初安装的狮子。

编辑:以下是创建plist文件的一些说明。

  1. 打开Xcode
  2. 选择文件->;新建->;新建文件。。。
  3. 在Mac OS X下选择资源
  4. 选择plist文件
  5. 遵循其余提示

若要编辑文件,可以控制单击以获取菜单并选择“添加行”。然后可以添加一个键值对。对于环境变量,键是环境变量名,值是该环境变量的实际值。

创建plist文件后,您可以用Xcode打开它,随时修改它。

下面是关于Lion OS 10.7.x中PATH变量的更多信息:

如果需要全局设置路径,系统将按以下顺序生成路径:

  1. 分析文件的内容/private/etc/paths,每行一个路径
  2. 正在分析文件夹/private/etc/paths.d的内容。该文件夹中的每个文件可以包含多个路径,每行一个路径。加载顺序首先由文件名决定,然后由文件中行的顺序决定。
  3. /private/etc/launchd.conf中的setenv PATH语句,它将附加该路径到已在1和2中构建的路径(不能使用$path来引用到目前为止构建的路径变量)。但是,考虑到其他两个选项,在这里设置路径是完全不必要的,尽管这是可以为所有用户设置其他全局环境变量的地方。

这些路径和变量是由所有用户和应用程序继承的,因此它们是真正的全局性的--注销和进入不会重置这些路径--它们是为系统构建的,并且是在任何用户有机会登录之前创建的,因此对它们的更改需要重新启动系统才能生效。

顺便说一下,OS 10.7.x Lion的干净安装没有我能找到的environment.plist,因此它可能工作,但也可能被弃用。

您的.profile.bash_profile只是“主”文件夹中存在的文件。如果您打开一个查找窗口并在“收藏夹”窗格中单击您的帐户名,您将看不到它们。如果打开终端窗口并键入ls以列出文件,则仍然看不到它们。但是,您可以通过在终端中使用ls -a来找到它们。或者,如果打开您最喜欢的文本编辑器(例如,texted,因为它是随OS X提供的)并执行File->;打开,然后按Command+Shift+并单击您的帐户名(主文件夹),您也会看到它们。如果看不到它们,则可以在您喜爱的文本编辑器中创建一个。

现在,添加环境变量相对简单,在概念上与windows非常相似。在.profile中,每行添加一个变量名及其值,如下所示:

export JAVA_HOME=/Library/Java/Home
export JRE_HOME=/Library/Java/Home

等等

如果要修改“PATH”变量,请确保包含已为您设置的系统默认路径:

export PATH=$PATH:/path/to/my/stuff

现在有一个奇怪的部分,您可以打开一个新的终端窗口使新变量生效,或者您需要键入.profile.bash_profile来重新加载文件并将内容应用于当前终端的环境。

您可以使用终端中的“set”命令检查更改是否生效。只要键入set(或者set | more,如果您喜欢分页列表),并确保添加到文件中的内容在那里。

至于将环境变量添加到GUI应用程序中,这通常是不必要的,我想更多地了解您具体想做什么,以便更好地为它提供答案。

相关问题 更多 >