【问题标题】:Path not added to $PATH variable when executing a command执行命令时路径未添加到 $PATH 变量
【发布时间】:2012-04-10 14:52:49
【问题描述】:

首先,这个问题的上下文是:Cannot install psycopg2 on OSX 10.6.7 with XCode4

所以我正在尝试执行以下操作:

$PATH=$PATH:/Library/PostgreSQL/9.1/bin sudo env ARCHFLAGS="-arch i386 -arch x86_64" pip install psycopg2

但是,我得到以下信息:

/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/texbin:/usr/X11/bin=/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/texbin:/usr/X11/bin:/Library/PostgreSQL/9.1/bin: No such file or directory

基本上,我需要将“/Library/PostgreSQL/9.1/bin”添加到 $PATH,以便可以在需要该目录中的某些内容时执行命令的其余部分。

有什么建议吗?

【问题讨论】:

    标签: python macos environment-variables psycopg2


    【解决方案1】:

    分配给的变量不应有$

    PATH=...
    

    【讨论】:

    • 所以应该是 'PATH=$PATH:/Library/PostgreSQL/9.1/bin ...'?
    【解决方案2】:

    试试:

    export PATH=$PATH:/Library/PostgreSQL/9.1/bin sudo env ARCHFLAGS="-arch i386 -arch x86_64" pip install psycopg2
    

    【讨论】:

    • 在调用这样的命令时,您不应该使用export
    【解决方案3】:

    发出这个命令:

    export PATH=$PATH:/Library/PostgreSQL/9.1/bin sudo env ARCHFLAGS="-arch i386 -arch x86_64" pip install psycopg2
    

    【讨论】:

    • 查看其他类似答案的评论。
    【解决方案4】:

    是的,删除前面提到的 $。您可能还需要 -E 选项来 sudo,或更改 sudoers 中的 env_reset 设置。您也可以在 sudo 之后指定环境变量。

    sudo -E PATH="..." ARCH="..." pip install whatever
    

    【讨论】:

      猜你喜欢
      • 2011-02-19
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多