diff --git a/news/4225.bugfix.rst b/news/4225.bugfix.rst new file mode 100644 index 00000000..39e335a7 --- /dev/null +++ b/news/4225.bugfix.rst @@ -0,0 +1 @@ +Fix a bug where setting PIPENV_PYTHON to file path breaks environment name \ No newline at end of file diff --git a/pipenv/project.py b/pipenv/project.py index 8f5cb7a5..62dffd74 100644 --- a/pipenv/project.py +++ b/pipenv/project.py @@ -443,7 +443,13 @@ class Project(object): def virtualenv_name(self): # type: () -> str sanitized, encoded_hash = self._get_virtualenv_hash(self.name) - suffix = "-{0}".format(PIPENV_PYTHON) if PIPENV_PYTHON else "" + suffix = "" + if PIPENV_PYTHON: + if os.path.isabs(PIPENV_PYTHON): + suffix = "-{0}".format(os.path.basename(PIPENV_PYTHON)) + else: + suffix = "-{0}".format(PIPENV_PYTHON) + # If the pipfile was located at '/home/user/MY_PROJECT/Pipfile', # the name of its virtualenv will be 'my-project-wyUfYPqE' return sanitized + "-" + encoded_hash + suffix