2018.10.9 (2018-10-09)
2018.10.9 (2018-10-09)
Features & Improvements
- Added environment variables PIPENV_VERBOSE and PIPENV_QUIET to
control output verbosity without needing to pass options. #2527 - Updated test-pypi addon to better support json-api access (forward
compatibility). Improved testing process for new contributors. #2568 - Greatly enhanced python discovery functionality:
- Added
pep514
(windows launcher/finder) support for python
discovery. - Introduced architecture discovery for python installations which
support different architectures. #2582
- Added
- Added support for
pipenv shell
on msys and cygwin/mingw/git bash
for windows. #2641 - Enhanced resolution of editable and VCS dependencies. #2643
- Deduplicate and refactor CLI to use stateful arguments and object
passing. See this issue for reference. #2814
Behavior Changes
- Virtual environment activation for
run
is revised to improve
interpolation with other Python discovery tools. #2503 - Improve terminal coloring to display better in Powershell. #2511
- Invoke
virtualenv
directly for virtual environment creation,
instead of depending onpew
. #2518 pipenv --help
will now include short help descriptions. #2542- Add
COMSPEC
to fallback option (along withSHELL
and
PYENV_SHELL
) if shell detection fails, improving robustness on
Windows. #2651 - Fallback to shell mode if run fails with Windows error 193 to handle
non-executable commands. This should improve usability on Windows,
where some users run non-executable files without specifying a
command, relying on Windows file association to choose the current
command. #2718
Bug Fixes
-
Fixed a bug which prevented installation of editable requirements
usingssh://
style urls #1393 -
VCS Refs for locked local editable dependencies will now update
appropriately to the latest hash when runningpipenv update
. #1690 -
.tar.gz
and.zip
artifacts will now have dependencies installed
even when they are missing from the lockfile. #2173 -
The command line parser will now handle multiple
-e/--editable
dependencies properly via click's option parser to help mitigate
future parsing issues. #2279 -
Fixed the ability of pipenv to parse
dependency_links
from
setup.py
whenPIP_PROCESS_DEPENDENCY_LINKS
is enabled. #2434 -
Fixed a bug which could cause
-i/--index
arguments to sometimes be
incorrectly picked up in packages. This is now handled in the
command line parser. #2494 -
Fixed non-deterministic resolution issues related to changes to the
internal package finder inpip 10
.
#2499, #2529, #2589, #2666, #2767, #2785, #2795, #2801, #2824, #2862, #2879, #2894, #2933 -
Fix subshell invocation on Windows for Python 2. #2515
-
Fixed a bug which sometimes caused pipenv to throw a
TypeError
or
to run into encoding issues when writing lockfiles on python 2. #2561 -
Improve quoting logic for
pipenv run
so it works better with
Windows built-in commands. #2563 -
Fixed a bug related to parsing vcs requirements with both extras and
subdirectory fragments. Corrected an issue in therequirementslib
parser which led to some markers being discarded rather than
evaluated. #2564 -
Fixed multiple issues with finding the correct system python
locations. #2582 -
Catch JSON decoding error to prevent exception when the lock file is
of invalid format. #2607 -
Fixed a rare bug which could sometimes cause errors when installing
packages with custom sources. #2610 -
Update requirementslib to fix a bug which could raise an
UnboundLocalError
when parsing malformed VCS URIs. #2617 -
Fixed an issue which prevented passing multiple
--ignore
parameters topipenv check
. #2632 -
Fixed a bug which caused attempted hashing of
ssh://
style URIs
which could cause failures during installation of private ssh
repositories.- Corrected path conversion issues which caused certain editable
VCS paths to be converted tossh://
URIs improperly. #2639
- Corrected path conversion issues which caused certain editable
-
Fixed a bug which caused paths to be formatted incorrectly when
usingpipenv shell
in bash for windows. #2641 -
Dependency links to private repositories defined via
ssh://
schemes will now install correctly and skip hashing as long as
PIP_PROCESS_DEPENDENCY_LINKS=1
. #2643 -
Fixed a bug which sometimes caused pipenv to parse the
trusted_host
argument to pip incorrectly when parsing source URLs
which specifyverify_ssl = false
. #2656 -
Prevent crashing when a virtual environment in
WORKON_HOME
is
faulty. #2676 -
Fixed virtualenv creation failure when a .venv file is present in
the project root. #2680 -
Fixed a bug which could cause the
-e/--editable
argument on a
dependency to be accidentally parsed as a dependency itself. #2714 -
Correctly pass verbose and debug flags to the resolver subprocess so
it generates appropriate output. This also resolves a bug introduced
by the fix to #2527. #2732 -
All markers are now included in
pipenv lock --requirements
output. #2748 -
Fixed a bug in marker resolution which could cause duplicate and
non-deterministic markers. #2760 -
Fixed a bug in the dependency resolver which caused regular issues
when handlingsetup.py
based dependency resolution. #2766 -
Updated vendored dependencies:
pip-tools
(updated and patched to latest w/pip 18.0
compatibilty)pip 10.0.1 => 18.0
click 6.7 => 7.0
toml 0.9.4 => 0.10.0
pyparsing 2.2.0 => 2.2.2
delegator 0.1.0 => 0.1.1
attrs 18.1.0 => 18.2.0
distlib 0.2.7 => 0.2.8
packaging 17.1.0 => 18.0
passa 0.2.0 => 0.3.1
pip_shims 0.1.2 => 0.3.1
plette 0.1.1 => 0.2.2
pythonfinder 1.0.2 => 1.1.0
pytoml 0.1.18 => 0.1.19
requirementslib 1.1.16 => 1.1.17
shellingham 1.2.4 => 1.2.6
tomlkit 0.4.2 => 0.4.4
vistir 0.1.4 => 0.1.6
#2802, #2867, #2880
-
Fixed a bug where pipenv crashes when the WORKON_HOME directory
does not exist. #2877 -
Fixed pip is not loaded from pipenv's patched one but the system one #2912
-
Fixed various bugs related to
pip 18.1
release which prevented
locking, installation, and syncing, and dumping to a
requirements.txt
file. #2924
Vendored Libraries
-
Pew is no longer vendored. Entry point
pewtwo
, packages
pipenv.pew
andpipenv.patched.pew
are removed. #2521 -
Update
pythonfinder
to major release1.0.0
for integration. #2582 -
Update requirementslib to fix a bug which could raise an
UnboundLocalError
when parsing malformed VCS URIs. #2617 -
Vendored new libraries
vistir
andpip-shims
,tomlkit
,
modutil
, andplette
. -
Update vendored libraries:
scandir
to1.9.0
click-completion
to0.4.1
semver
to2.8.1
shellingham
to1.2.4
pytoml
to0.1.18
certifi
to2018.8.24
ptyprocess
to0.6.0
requirementslib
to1.1.5
pythonfinder
to1.0.2
pipdeptree
to0.13.0
python-dotenv
to0.9.1
#2639
-
Updated vendored dependencies:
pip-tools
(updated and patched to latest w/pip 18.0
compatibilty)pip 10.0.1 => 18.0
click 6.7 => 7.0
toml 0.9.4 => 0.10.0
pyparsing 2.2.0 => 2.2.2
delegator 0.1.0 => 0.1.1
attrs 18.1.0 => 18.2.0
distlib 0.2.7 => 0.2.8
packaging 17.1.0 => 18.0
passa 0.2.0 => 0.3.1
pip_shims 0.1.2 => 0.3.1
plette 0.1.1 => 0.2.2
pythonfinder 1.0.2 => 1.1.0
pytoml 0.1.18 => 0.1.19
requirementslib 1.1.16 => 1.1.17
shellingham 1.2.4 => 1.2.6
tomlkit 0.4.2 => 0.4.4
vistir 0.1.4 => 0.1.6
#2902, #2935
Improved Documentation
- Simplified the test configuration process. #2568
- Updated documentation to use working fortune cookie addon. #2644
- Added additional information about troubleshooting
pipenv shell
by
using the the$PIPENV_SHELL
environment variable. #2671 - Added a link to
PEP-440
version specifiers in the documentation
for additional detail. #2674 - Added simple example to README.md for installing from git. #2685
- Stopped recommending --system for Docker contexts. #2762
- Fixed the example url for doing "pipenv install -e
some-repo-url#egg=something", it was missing the "egg=" in the
fragment identifier. #2792 - Fixed link to the "be cordial" essay in the contribution
documentation. #2793 - Clarify pipenv install documentation #2844
- Replace reference to uservoice with PEEP-000 #2909