-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Detect pipenv by looking for Pipfile, not pipfile #994
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
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
Codecov Report
@@ Coverage Diff @@
## master #994 +/- ##
==========================================
+ Coverage 64.08% 64.34% +0.26%
==========================================
Files 260 260
Lines 12013 12013
Branches 2134 2134
==========================================
+ Hits 7698 7730 +32
+ Misses 4306 4274 -32
Partials 9 9
Continue to review full report at Codecov.
|
Thanks for the quick fix @wjt ! As you can tell our Linux testing missed this. We will get a |
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
* 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 * Prep for 2018.2.1
On platforms with case-sensitive filesystems, like Linux, these are not equivalent. pipenv documents that the file should be called Pipfile and
Pipfile.find()
only finds files matching this exact case.As a result, even if
pipenv --venv
incwd
would return success, it will never be run on Linux, and Code never detects the pipenv. (You can work around this withtouch 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.