Pipenv提示匹配终端PS1

时间:2019-02-28 09:42:20

标签: bash macos pipenv

我正在使用testIDMacOS

我在虚拟环境中使用bash,我真的想使虚拟外壳的外观与标准外壳的外观匹配。

当我不在pipenv时,我将pipenv设置为有时间,一个绿色的命令提示符将显示我的工作目录的完整路径,并且如果该目录中包含一个git repo,它在最后显示了我当前的分支。

我已经搜索了正确的文件进行编辑,以使每个新的.bash_profile shell都具有相同的外观,但是我没有运气找到合适的文件来复制个人资料偏好设置。

想知道如何使用标准的pipenv终端外观(颜色和当前git分支等)进行设置。

2 个答案:

答案 0 :(得分:0)

pipenv-FAQ

看看shell does not show the virtualenv’s name in prompt

  

这是故意的。您可以使用Shell插件或聪明的PS1配置自己进行操作。如果您确实要退回,请使用

对于“ shell插件”

您无需寻找“ pipenv + bash”,而寻找virtualenv + bash prompt解决方案,例如:

How do I change the default virtualenv prompt?

我很难推荐“哪种方式最好?”

(我自己在使用zsh

答案 1 :(得分:0)

我已经搜索了正确的文件进行编辑,以使每个新的pipenv shell都具有相同的外观,但是我没有运气找到合适的文件来复制我的个人资料偏好设置。

对于bash,您可以创建和修改~/.bashrc

pipenv shell命令是 virtualenv 的包装,当它为bash shell激活虚拟环境时,该文件将检查~/.bashrc文件。 ~/.bashrc文件中的所有内容都会在产生的shell中使用,包括提示,别名以及您在shell中自定义的其他内容。

$ cat ~/.bashrc
cat: /Users/gino/.bashrc: No such file or directory

$ pipenv shell
Launching subshell in virtual environment…
bash-5.0$  . /Users/gino/.venvs/test-oiEjhH94/bin/activate
(test) bash-5.0$ ll
bash: ll: command not found
(test) bash-5.0$ exit

$ vim ~/.bashrc
$ cat ~/.bashrc
PS1='\[\e[1;33m\]\u@\W\$\[\e[0m\] '
alias ll="ls -Flh"

$ pipenv shell
Launching subshell in virtual environment…
gino@test$  . /Users/gino.mempin/.venvs/test-oiEjhH94/bin/activate
(test) gino@test$ 
(test) gino@test$ type ll
ll is aliased to `ls -Flh'

您可以做的是创建一个~/.bash_prompt文件,在其中设置所有提示配置(PS1),并在~/.bash_aliases文件中,设置所有别名。然后,在~/.bash_profile(对于标准shell)和~/.bashrc(对于pipenv shell)中获取它们。

〜/ .bash_prompt

# Format the prompt
# Shows up as:
#   machine-name@current-working-directory$
PS1='\[\e[1;33m\]\u@\W\$\[\e[0m\] '

# other prompt configs

〜/ .bash_aliases

alias ll="ls -FlhpG"

# other aliases

〜/ .bash_profile

# For "main" shell (i.e. Terminal, VS Code terminal)

. ~/.bash_prompt
. ~/.bash_aliases

〜/ .bashrc

# For `pipenv shell`

. ~/.bash_prompt
. ~/.bash_aliases

一个更好的解决方案是告诉pipenv shell virtualenv 重用~/.bash_profile中的配置,但是我还没有成功地工作(终端,pipenv ,VS代码)。


  • macOS 10.15
  • bash 5.0(通过Homebrew安装)
  • pipenv 2020.8.13