Pipenv: git autocomplete not working in subshell

Created on 7 Feb 2017  路  7Comments  路  Source: pypa/pipenv

Thanks a lot for this awesome project 馃憤

I am trying out for the first time. I have git autocomplete enabled, using this https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

When I activate virtualenv using pipenv shell, git autocomplete doesn't work anymore

Most helpful comment

@nateprewitt I am using bash.

This is default configuration on OSX. I have only added this line in ~/.profile
source ~/.git-completion.bash
to enable git completion. I thought it was bug because activating venv doesn't affect it.

Anyway, not big of an inconvenience. I will try to figure out what pipenv shell does.

All 7 comments

Hey @chhantyal, could you tell me what shell you're using and what the value of $SHELL is in your terminal? Thanks!

this is a side-effect of the way your shell is configured. I'd recommend getting more familiar with how your shell and its best practices.

@nateprewitt I am using bash.

This is default configuration on OSX. I have only added this line in ~/.profile
source ~/.git-completion.bash
to enable git completion. I thought it was bug because activating venv doesn't affect it.

Anyway, not big of an inconvenience. I will try to figure out what pipenv shell does.

@chhantyal by default pipenv shell will run the command pew workon <project_name> where project_name is the directory you are using pipenv in. There may be restrictions in pew that are not playing well with your use of source to activate git-completion.

As Kenneth said, you'll either need to work out the conflict between pew and your shell setup, or you can use the PIPENV_SHELL_COMPAT environment variable to use a simpler $SHELL -i command for activation.

@nateprewitt I am using bash.

This is default configuration on OSX. I have only added this line in ~/.profile
source ~/.git-completion.bash
to enable git completion. I thought it was bug because activating venv doesn't affect it.

Anyway, not big of an inconvenience. I will try to figure out what pipenv shell does.

try this for Mac terminals ...

source ~/.bash_profile

to solve the auto completion in Pipenv subshell ,Thank you

@nateprewitt I am using bash.
This is default configuration on OSX. I have only added this line in ~/.profile
source ~/.git-completion.bash
to enable git completion. I thought it was bug because activating venv doesn't affect it.
Anyway, not big of an inconvenience. I will try to figure out what pipenv shell does.

try this for Mac terminals ...

source ~/.bash_profile

to solve the auto completion in Pipenv subshell ,Thank you

@alexjolly28 Right, but that's a workaround and not a fix.

I'm curious to understand what the actual problem is. I'm using bash on macos.

By moving source ~/.git-completion.bash into ~/.bashrc then git autocompletion is restored.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

johnjiang picture johnjiang  路  3Comments

jeyraof picture jeyraof  路  3Comments

bgjelstrup picture bgjelstrup  路  3Comments

ipmb picture ipmb  路  3Comments

jacek-jablonski picture jacek-jablonski  路  3Comments