我正在使用testID
和MacOS
。
我在虚拟环境中使用bash
,我真的想使虚拟外壳的外观与标准外壳的外观匹配。
当我不在pipenv
时,我将pipenv
设置为有时间,一个绿色的命令提示符将显示我的工作目录的完整路径,并且如果该目录中包含一个git repo,它在最后显示了我当前的分支。
我已经搜索了正确的文件进行编辑,以使每个新的.bash_profile
shell都具有相同的外观,但是我没有运气找到合适的文件来复制个人资料偏好设置。
想知道如何使用标准的pipenv
终端外观(颜色和当前git分支等)进行设置。
答案 0 :(得分:0)
看看shell does not show the virtualenv’s name in prompt:
这是故意的。您可以使用Shell插件或聪明的PS1配置自己进行操作。如果您确实要退回,请使用
您无需寻找“ 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代码)。