当前位置: 首页 > 面试题库 >

如何更改默认的virtualenv提示?

谢哲瀚
2023-03-14
问题内容

如何更改默认的Virtualenvwrapper提示符?默认情况下,使用“ workon
<name_of_env>”之类的命令在特定的虚拟环境上工作,会将virtualenv的名称添加到提示中。如果您未使用默认命令提示符,则此方法可能效果不佳。


问题答案:

默认情况下,当使用命令“ workon
”切换到virtualenv时,virtualenvwrapper将在字符串(( ))前面添加一个字符串。问题是我在行中设置了Bash提示符:

PROMPT_COLOR1='0;36m'
PROMPT_COLOR2='1;34m'
PS1='\n\[\033[$PROMPT_COLOR1\](\t)\[\033[$PROMPT_COLOR2\] \u @ \w \n\[\033[$PROMPT_COLOR1\]$ \[\033[0;39m\]'

这将产生以下命令提示符:

< old_line >

(19:11:05) kevin @ ~/research 
$

使用“ workon ”切换到新的虚拟环境会将命令提示符更改为:

< old_line >
(< name_of_env >)
(19:11:05) kevin @ ~/research 
$

这比我想要的更混乱,而且启动的颜色错误。我希望有这样的东西:

< old_line >

(< name_of_env >) (19:11:05) kevin @ ~/research 
$

IanBicking之前曾指出过virtualenvwrapper的钩子是解决方案,但我认为我会发布我的实际代码以节省一分钟的时间。

我只是编辑$ WORKON_HOME / postactivate文件以包括以下行:

# color virtualenv name properly and put it after the \n if there is one at the start of the prompt
if [ ${_OLD_VIRTUAL_PS1:0:2} == '\n' ]; then
    PS1="\n\[\033[$PROMPT_COLOR1\](`basename \"$VIRTUAL_ENV\"`) ${_OLD_VIRTUAL_PS1:2:${#_OLD_VIRTUAL_PS1}}"
else
    PS1="\[\033[$PROMPT_COLOR1\](`basename \"$VIRTUAL_ENV\"`) $_OLD_VIRTUAL_PS1 "
fi

和瞧!颜色和位置是正确的,甚至当您直接从一个虚拟环境切换到另一个虚拟环境(我没想到)时,它甚至也可以使用。



 类似资料:
  • 问题内容: 尝试更改列的数据类型并设置新的默认值时遇到以下错误: 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’VARCHAR(255)NOT NULL SET DEFAULT’{}’‘附近使用正确的语法 问题答案: 同样的第二种可能性(感谢juergen_d):

  • 在尝试更改列的数据类型并设置新的默认值时,我遇到以下错误: 错误1064(42000):您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,以了解第1行“varchar(255)NOT NULL SET DEFAULT”{}“附近使用的正确语法

  • 问题内容: 我使用IntelliJ IDEA作为开发环境,并使用Maven进行依赖项管理。我经常在IDEA之外构建我的项目结构(目录,poms等),然后使用将该项目导入。这很好用,除了在poms中我指定maven-compiler-plugin应该使用JDK 1.6,并且在导入时,IDEA通知我和,然后提示重新加载项目。这很烦人,因为我总是使用相同的JDK版本。 如何更改IntelliJ IDEA

  • xampp中的php.ini文件位于此处: phpinfo包含以下信息: 配置文件(php.ini)路径C:\WINDOWS 已加载的配置文件(无) 扫描此目录以获取更多信息。ini文件(无) 如何更改目录?

  • 当启动一个流浪者盒子时,“默认”这个名字来自哪里? 有没有办法设定这个?

  • 我如何更改IntelliJ IDEA使用的默认JDK,这样我就不必在每次导入新项目时重新加载我的项目了?