Skip to content

Double venv in prompt #669

@sbhzi

Description

@sbhzi

General information

System report (output of prompt_pure_system_report):

- Zsh: zsh 5.9 (x86_64-apple-darwin23.0) (/bin/zsh)
- Operating system: macOS 14.3.1 (23D60)
- Terminal program: vscode (1.86.1)
- Tmux: no
- Git: git version 2.39.3 (Apple Git-145)
- Pure state:
    - username: `''`
    - prompt: `❯`
    - version: `1.22.0`
- zsh-async version: `1.8.6`
- PROMPT: `typeset -g PROMPT=$'%F{${prompt_pure_colors[path]}}%~%f %F{#BAABFD}${prompt_pure_vcs_info[branch]}%F{218}${prompt_pure_git_dirty}%f %F{$prompt_pure_colors[git:arrow]}${prompt_pure_git_arrows}%f %F{$prompt_pure_colors[execution_time]}${prompt_pure_cmd_exec_time}%f
%}(venv) %(12V.%F{$prompt_pure_colors[virtualenv]}%12v%f .)%(?.%F{$prompt_pure_colors[prompt:success]}.%F{$prompt_pure_colors[prompt:error]})${prompt_pure_state[prompt]}%f '`
- Colors: `typeset -g -A prompt_pure_colors=( [execution_time]=yellow [git:action]=yellow [git:arrow]=cyan [git:branch]='#BAABFD' [git:branch:cached]=red [git:dirty]=218 [git:stash]=cyan [host]=242 [path]='#80DAFF' [prompt:continuation]=242 [prompt:error]='#BAABFD' [prompt:success]='#BAABFD' [suspended_jobs]=red [user]=242 [user:root]=default [virtualenv]=242 )`
- TERM: `export TERM=xterm-256color`
- Virtualenv: `export VIRTUAL_ENV_DISABLE_PROMPT=12`
- Conda: `export CONDA_CHANGEPS1=no`
- Detected frameworks: Oh My Zsh
    - Oh My Zsh:
        - Plugins: git, zsh-autosuggestions

Other information

I have:

  • Tested with another terminal program and can reproduce the issue:
  • Followed the integration instructions for my framework

Problem description

I've got double venv showing in my prompt for Python.
Previously did not have "(venv)", just "venv ❯" showing

(venv) venv ❯ pyenv --version          
pyenv 2.3.35

It seems when I start my shell I get the (venv) pre-appended (becoming (venv) venv ❯), but if I run zsh / source my zsh shell, it gets rid of it and results in just venv ❯ as expected. I expect a package update has caused the (venv) prepending now. So my question was, is it possible to disable the extra venv ❯ from appearing? Ideally however, I preferred just having venv ❯ appear, rather than the uncoloured (venv).

Reproduction steps

  1. Open terminal
  2. See (venv) prepended in front of Pure's venv ❯
  3. Running zsh removes (venv)

My .zshrc:

export ZSH="$HOME/.oh-my-zsh"

export ZSH_THEME=""

plugins=(
    git
    zsh-autosuggestions
)

source $ZSH/oh-my-zsh.sh

# -- PURE shell --
fpath+=("$(brew --prefix)/share/zsh/site-functions")
autoload -U promptinit; promptinit

zstyle :prompt:pure:path color '#80DAFF'
zstyle :prompt:pure:git:branch color '#BAABFD'
zstyle :prompt:pure:prompt:success color '#BAABFD'
zstyle :prompt:pure:prompt:error color '#BAABFD'

prompt pure

# -- Homebrew --
eval "$(/opt/homebrew/bin/brew shellenv)"

# -- Git custom commands --
export PATH="$HOME/git-custom-commands:$PATH"

# -- NVM ---
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"

# -- PYENV --
eval "$(pyenv init -)"

# -- POETRY --
export PATH="/Users/shazaibahmad/.local/bin:$PATH"

# -- DOOM EMACS --
export PATH=$HOME/.emacs.d/bin:$PATH # location of doom
# export PATH="/opt/homebrew/opt/grep/bin/ggrep:$PATH"
export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"
PATH="$(brew --prefix grep)/libexec/gnubin:$PATH"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions