From 06470bee3cdec6555ffec02390dae68bd7e23091 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Fri, 9 Mar 2018 17:36:29 +0000 Subject: [PATCH 1/2] Detect pipenv by looking for Pipfile, not pipfile (#994) On platforms with case-sensitive filesystems, like Linux, these are not equivalent. pipenv documents that the file should be called Pipfile[0] and `Pipfile.find()` only finds files matching this exact case[1]. As a result, even if `pipenv --venv` in `cwd` would return success, it will never be run on Linux, and Code never detects the pipenv. (You can work around this with `touch pipfile`.) With this change, it's detected successfully. I believe there's no need to add a backwards-compatibility check for the old case, because on platforms where the old, incorrect check worked, so will the new, correct one. [0] https://docs.pipenv.org/basics/#example-pipfile-pipfile-lock [1] https://github.com/pypa/pipfile/blob/5acb9ac7/pipfile/api.py#L76-L85 --- src/client/interpreter/locators/services/pipEnvService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/interpreter/locators/services/pipEnvService.ts b/src/client/interpreter/locators/services/pipEnvService.ts index f511dede8302..738eba8f605b 100644 --- a/src/client/interpreter/locators/services/pipEnvService.ts +++ b/src/client/interpreter/locators/services/pipEnvService.ts @@ -69,7 +69,7 @@ export class PipEnvService extends CacheableLocatorService { private async getInterpreterPathFromPipenv(cwd: string): Promise { // Quick check before actually running pipenv - if (!await this.fs.fileExistsAsync(path.join(cwd, 'pipfile'))) { + if (!await this.fs.fileExistsAsync(path.join(cwd, 'Pipfile'))) { return; } const venvFolder = await this.invokePipenv('--venv', cwd); From 1bd76fa2190a47290862ac04ab7666fc6854ea51 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Fri, 9 Mar 2018 09:42:56 -0800 Subject: [PATCH 2/2] Prep for 2018.2.1 --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d746daec36e..c21837fe22c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 2018.2.1 (09 Mar 2018) + +### Fixes + +1. Check for `Pipfile` and not `pipfile` when looking for pipenv usage + (thanks to [Will Thompson for the fix](https://github.com/wjt)) + ## 2018.2.0 (08 Mar 2018) [Release pushed by one week] diff --git a/package.json b/package.json index 629777518a9a..922d756cf5f5 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "python", "displayName": "Python", "description": "Linting, Debugging (multi-threaded, remote), Intellisense, code formatting, refactoring, unit tests, snippets, and more.", - "version": "2018.2.0", + "version": "2018.2.1", "publisher": "ms-python", "author": { "name": "Microsoft Corporation"