我有一个基本的终端问题。我刚刚在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)”显示?
答案 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
默认情况下,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