在命令行上显示“Canopy”

时间:2013-04-11 06:52:53

标签: terminal osx-snow-leopard enthought canopy

我有一个基本的终端问题。我刚刚在Snow Leopard上安装了enthought的Canopy for Python,当我在命令行上工作时,(Canopy 64bit)不断出现。

EX: (Canopy 64bit)Macbook~ [用户名] $

我已经尝试过编辑我的bashrc文件,但没有用。

bashrc目前有这个:

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

PS1="Macbook~\u\$"
# Make bash check its window size after a process completes
shopt -s checkwinsize

-

有没有办法阻止“(Canopy 64bit)”显示?

6 个答案:

答案 0 :(得分:7)

详细说明以前的答案:Canopy基于3层系统,第0层包含Canopy GUI工作的最小值;第1层包含所有“System”软件包,它们与Canopy一起分发,并且可能在新版本发布时更新;最后,第2层是“用户”环境,用户可以在其中安装他们喜欢的任何包。通过这种方式,如果用户安装了一个破坏Canopy的软件包,可能总是会回退到第1层,甚至是第0层以进行系统重置。

使用流行的图书馆virtualenv管理这三个图层。在virtualenv中,您可以使用自己的一组库创建隔离的Python环境。例如,如果您正在开发多个应用程序,每个应用程序都需要冲突的程序包,您可以在单独的“虚拟环境”中开发它们。使用virtualenv,Canopy也可以这样做:您可能有多个“用户”环境(尽管该功能尚未通过GUI公开)。

使用“激活”脚本激活虚拟环境,Canopy在.bash_profile行中执行

~/Library/Enthought/Canopy_64bit/User/bin/activate

正如DJon所指出的那样。

默认情况下,virtualenv修改您的bash提示符,以便您可以记住您所在的虚拟环境,这就是您看到“(Canopy 64bit)”提示的原因。要摆脱它,您可以从.bash_profile中删除该行,但这意味着您必须手动将系统指向正确的python可执行文件和正确的库。

punchagan解决方案只是停用默认的virtualenv提示,让Canopy虚拟环境本身保持不变:

VIRTUAL_ENV_DISABLE_PROMPT=true

答案 1 :(得分:1)

它在.bash_profile中。但是一旦你删除它,你可能必须退出并重新登录才能生效。

安装时可以选择使Canopy成为默认的python环境。不幸的是,似乎没有办法在应用程序设置中更改它。

答案 2 :(得分:1)

的第56-70行注释掉if子句

〜/库/ Enthought / Canopy_64bit /用户/ bin中/激活

答案 3 :(得分:1)

要清除对bash提示的不必要的添加,请关闭Canopy,然后打开
〜/资源库/ Enthought / Canopy_64bit /用户/箱/激活 在文本编辑器中。注释掉如下行(这些没有在原文中注释掉):

#if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then
#    _OLD_VIRTUAL_PS1="$PS1"
#    if [ "x(Canopy 64bit) " != x ] ; then
#   PS1="(Canopy 64bit) $PS1"
#    else
#    if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
#        # special case for Aspen magic directories
#        # see http://www.zetadev.com/software/aspen/
#        PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
#    else
#        PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
#    fi
#    fi
#    export PS1
#fi

现在关闭你的bash会话并重新启动它。提示现在将恢复正常。

答案 4 :(得分:0)

您无需在〜/ Library / Enthought / Canopy_64bit / User / bin / activate中完全注释掉这些行。我刚刚注释了这一行

      #PS1="(Canopz 64bit) $PS1"

并将其替换为

    PS1="$PS1"

所以你只要让Canopy做它必须做的事情,但在提示中摆脱烦人的额外文字。

最佳。

答案 5 :(得分:0)

编辑激活脚本的工作原理是Arkog回答,但如果我刚刚注释掉这行,我会得到类似的内容:

-bash:/ Users // Library / Enthought / Canopy_64bit / User / bin / activate:第60行:意外令牌附近的语法错误else' -bash: /Users/<username>/Library/Enthought/Canopy_64bit/User/bin/activate: line 60:其他'

所以我发现用以下代码替换该行更好:

$ PS1 = $ PS1