diff --git a/poetry/utils/env.py b/poetry/utils/env.py index d161634cdc9..dcdec0363bf 100644 --- a/poetry/utils/env.py +++ b/poetry/utils/env.py @@ -473,6 +473,10 @@ def create_venv( cwd = self._poetry.file.parent env = self.get(reload=True) + + if not env.is_sane(): + force = True + if env.is_venv() and not force: # Already inside a virtualenv. return env @@ -606,6 +610,12 @@ def create_venv( self.build_venv(str(venv), executable=executable) else: if force: + if not env.is_sane(): + io.write_line( + "The virtual environment found in {} seems to be broken.".format( + env.path + ) + ) io.write_line( "Recreating virtualenv {} in {}".format(name, str(venv)) )