mirror of
https://github.com/kennethreitz/pipenv.git
synced 2026-06-05 14:50:16 +00:00
Merge branch 'master' into check_api_override
This commit is contained in:
@@ -1,27 +1,27 @@
|
||||
Be sure to check the existing issues (both open and closed!), and make sure you are running the latest version of Pipenv.
|
||||
|
||||
If you're requesting a new feature or leaving feedback, please use this forum instead:
|
||||
If you're requesting a new feature, please use the PEEP process:
|
||||
|
||||
https://kenneth-reitz.uservoice.com/forums/913660-general
|
||||
https://github.com/pypa/pipenv/blob/master/peeps/PEEP-000.md
|
||||
|
||||
Check the [diagnose documentation](https://docs.pipenv.org/diagnose/) for common issues before posting! We may close your issue if it is very similar to one of them. Please be considerate, or be on your way.
|
||||
|
||||
Make sure to mention your debugging experience if the documented solution failed.
|
||||
|
||||
|
||||
##### Issue description
|
||||
### Issue description
|
||||
|
||||
Describe the issue briefly here.
|
||||
|
||||
##### Expected result
|
||||
### Expected result
|
||||
|
||||
Describe what you expected.
|
||||
|
||||
##### Actual result
|
||||
### Actual result
|
||||
|
||||
When possible, provide the verbose output (`--verbose`), especially for locking and dependencies resolving issues.
|
||||
|
||||
##### Steps to replicate
|
||||
### Steps to replicate
|
||||
|
||||
Provide the steps to replicate (which usually at least includes the commands and the Pipfile).
|
||||
|
||||
|
||||
@@ -5,28 +5,24 @@ about: Create a report to help us improve
|
||||
|
||||
Be sure to check the existing issues (both open and closed!), and make sure you are running the latest version of Pipenv.
|
||||
|
||||
If you're requesting a new feature or leaving feedback, please use this forum instead:
|
||||
|
||||
https://kenneth-reitz.uservoice.com/forums/913660-general
|
||||
|
||||
Check the [diagnose documentation](https://docs.pipenv.org/diagnose/) for common issues before posting! We may close your issue if it is very similar to one of them. Please be considerate, or be on your way.
|
||||
|
||||
Make sure to mention your debugging experience if the documented solution failed.
|
||||
|
||||
|
||||
##### Issue description
|
||||
### Issue description
|
||||
|
||||
Describe the issue briefly here.
|
||||
|
||||
##### Expected result
|
||||
### Expected result
|
||||
|
||||
Describe what you expected.
|
||||
|
||||
##### Actual result
|
||||
### Actual result
|
||||
|
||||
When possible, provide the verbose output (`--verbose`), especially for locking and dependencies resolving issues.
|
||||
|
||||
##### Steps to replicate
|
||||
### Steps to replicate
|
||||
|
||||
Provide the steps to replicate (which usually at least includes the commands and the Pipfile).
|
||||
|
||||
|
||||
@@ -5,10 +5,6 @@ about: Requests for assistance or general usage guidance.
|
||||
|
||||
**AVOID POSTING ISSUES UNDER THIS CATEGORY.**
|
||||
|
||||
If you're requesting a new feature or leaving feedback, please use this forum instead:
|
||||
|
||||
https://kenneth-reitz.uservoice.com/forums/913660-general
|
||||
|
||||
If Pipenv is not functioning as you would like it to, consider filing either a bug report, or a feature request instead.
|
||||
|
||||
Please refer to [StackOverflow tag](https://stackoverflow.com/questions/tagged/pipenv) for more information.
|
||||
|
||||
@@ -5,28 +5,23 @@ about: Suggest an idea for this project
|
||||
|
||||
Be sure to check the existing issues (both open and closed!), and make sure you are running the latest version of Pipenv.
|
||||
|
||||
If you're requesting a new feature or leaving feedback, please use this forum instead:
|
||||
|
||||
https://kenneth-reitz.uservoice.com/forums/913660-general
|
||||
|
||||
Check the [diagnose documentation](https://docs.pipenv.org/diagnose/) for common issues before posting! We may close your issue if it is very similar to one of them. Please be considerate, or be on your way.
|
||||
Check the [diagnose documentation](https://docs.pipenv.org/diagnose/) for common issues and the [PEEP list](https://github.com/pypa/pipenv/blob/master/peeps/) before posting! We may close your issue if it is very similar to one of them. Please be considerate and follow the PEEP process, or be on your way.
|
||||
|
||||
Make sure to mention your debugging experience if the documented solution failed.
|
||||
|
||||
|
||||
##### Is your feature request related to a problem? Please describe.
|
||||
### Is your feature request related to a problem? Please describe.
|
||||
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
##### Describe the solution you'd like
|
||||
### Describe the solution you'd like
|
||||
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
##### Describe alternatives you've considered
|
||||
### Describe alternatives you've considered
|
||||
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
##### Additional context
|
||||
### Additional context
|
||||
|
||||
Add any other context or screenshots about the feature request here. It may be a good idea to mention that platform and Python version you are on.
|
||||
|
||||
|
||||
@@ -1,25 +1,28 @@
|
||||
Thank you for contributing to Pipenv!
|
||||
|
||||
|
||||
##### The issue
|
||||
### The issue
|
||||
|
||||
What is the thing you want to fix? Is it associated with an issue on GitHub? Please mention it.
|
||||
|
||||
Always consider opening an issue first to describe your problem, so we can discuss what is the best way to amend it. Note that if you do not describe the goal of this change or link to a related issue, the maintainers may close the PR without further review.
|
||||
|
||||
If your pull request makes a non-insignificant change to Pipenv, such as the user interface or intended functionality, please file a PEEP.
|
||||
|
||||
##### The fix
|
||||
https://github.com/pypa/pipenv/blob/master/peeps/PEEP-000.md
|
||||
|
||||
### The fix
|
||||
|
||||
How does this pull request fix your problem? Did you consider any alternatives? Why is this the *best* solution, in your opinion?
|
||||
|
||||
|
||||
##### The checklist
|
||||
### The checklist
|
||||
|
||||
* [ ] Associated issue
|
||||
* [ ] A news fragment in the `news/` directory to describe this fix with the extension `.bugfix`, `.feature`, `.behavior`, `.doc`. `.vendor`. or `.trivial` (this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.
|
||||
|
||||
<!--
|
||||
##### If this is a patch to the `vendor` directory…
|
||||
### If this is a patch to the `vendor` directory…
|
||||
|
||||
Please try to refrain from submitting patches directly to `vendor` or `patched`, but raise your issue to the upstream project instead, and inform Pipenv to upgrade when the upstream project accepts the fix.
|
||||
|
||||
|
||||
@@ -130,6 +130,9 @@ venv.bak/
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# PyCharm project settings
|
||||
.idea
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
name: Pipenv Build Rules
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
paths:
|
||||
exclude:
|
||||
- docs/*
|
||||
- news/*
|
||||
- README.md
|
||||
- pipenv/*.txt
|
||||
- CHANGELOG.rst
|
||||
- CONTRIBUTING.md
|
||||
- CODE_OF_CONDUCT.md
|
||||
- .gitignore
|
||||
- .gitattributes
|
||||
- .editorconfig
|
||||
|
||||
phases:
|
||||
- template: phases/test.yml
|
||||
parameters:
|
||||
|
||||
@@ -11,10 +11,10 @@ steps:
|
||||
mkdir -p "$AGENT_HOMEDIRECTORY/.virtualenvs"
|
||||
mkdir -p "$WORKON_HOME"
|
||||
pip install certifi
|
||||
export GIT_SSL_CAINFO=$(python -m certifi)
|
||||
export LANG=C.UTF-8
|
||||
export GIT_SSL_CAINFO="$(python -m certifi)"
|
||||
export LANG="C.UTF-8"
|
||||
export PIP_PROCESS_DEPENDENCY_LINKS="1"
|
||||
echo "Path: $PATH"
|
||||
echo "Path $PATH"
|
||||
echo "Installing Pipenv…"
|
||||
pip install -e "$(pwd)" --upgrade
|
||||
pipenv install --deploy --dev
|
||||
@@ -23,8 +23,8 @@ steps:
|
||||
|
||||
- script: |
|
||||
# Fix Git SSL errors
|
||||
export GIT_SSL_CAINFO=$(python -m certifi)
|
||||
export LANG=C.UTF-8
|
||||
export GIT_SSL_CAINFO="$(python -m certifi)"
|
||||
export LANG="C.UTF-8"
|
||||
export PIP_PROCESS_DEPENDENCY_LINKS="1"
|
||||
pipenv run pytest --junitxml=test-results.xml
|
||||
displayName: Run integration tests
|
||||
|
||||
@@ -3,13 +3,16 @@ steps:
|
||||
# Fix Git SSL errors
|
||||
pip install certifi
|
||||
python -m certifi > cacert.txt
|
||||
$env:GIT_SSL_CAINFO = $(Get-Content cacert.txt)
|
||||
Write-Host "##vso[task.setvariable variable=GIT_SSL_CAINFO]$(Get-Content cacert.txt)"
|
||||
$env:GIT_SSL_CAINFO="$(Get-Content cacert.txt)"
|
||||
# Shorten paths to get under MAX_PATH or else integration tests will fail
|
||||
# https://bugs.python.org/issue18199
|
||||
subst T: $env:TEMP
|
||||
$env:TEMP = "T:\"
|
||||
$env:TMP = "T:\"
|
||||
D:\.venv\Scripts\pipenv run pytest -n 4 --ignore=pipenv\patched --ignore=pipenv\vendor --junitxml=test-results.xml tests
|
||||
subst T: "$env:TEMP"
|
||||
Write-Host "##vso[task.setvariable variable=TEMP]T:\"
|
||||
$env:TEMP='T:\'
|
||||
Write-Host "##vso[task.setvariable variable=TMP]T:\"
|
||||
$env:TEMP='T:\'
|
||||
D:\.venv\Scripts\pipenv run pytest -ra --ignore=pipenv\patched --ignore=pipenv\vendor --junitxml=test-results.xml tests
|
||||
displayName: Run integration tests
|
||||
|
||||
- task: PublishTestResults@2
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
name: Pipenv Build Rules
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
paths:
|
||||
exclude:
|
||||
- docs/*
|
||||
- news/*
|
||||
- README.md
|
||||
- pipenv/*.txt
|
||||
- CHANGELOG.rst
|
||||
- CONTRIBUTING.md
|
||||
- CODE_OF_CONDUCT.md
|
||||
- .gitignore
|
||||
- .gitattributes
|
||||
- .editorconfig
|
||||
|
||||
phases:
|
||||
- template: phases/test.yml
|
||||
parameters:
|
||||
|
||||
+254
@@ -1,3 +1,257 @@
|
||||
2018.10.13 (2018-10-13)
|
||||
=======================
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
|
||||
- Fixed a bug in ``pipenv clean`` which caused global packages to sometimes be inadvertently targeted for cleanup. `#2849 <https://github.com/pypa/pipenv/issues/2849>`_
|
||||
|
||||
- Fix broken backport imports for vendored vistir. `#2950 <https://github.com/pypa/pipenv/issues/2950>`_,
|
||||
`#2955 <https://github.com/pypa/pipenv/issues/2955>`_,
|
||||
`#2961 <https://github.com/pypa/pipenv/issues/2961>`_
|
||||
|
||||
- Fixed a bug with importing local vendored dependencies when running ``pipenv graph``. `#2952 <https://github.com/pypa/pipenv/issues/2952>`_
|
||||
|
||||
- Fixed a bug which caused executable discovery to fail when running inside a virtualenv. `#2957 <https://github.com/pypa/pipenv/issues/2957>`_
|
||||
|
||||
- Fix parsing of outline tables. `#2971 <https://github.com/pypa/pipenv/issues/2971>`_
|
||||
|
||||
- Fixed a bug which caused ``verify_ssl`` to fail to drop through to ``pip install`` correctly as ``trusted-host``. `#2979 <https://github.com/pypa/pipenv/issues/2979>`_
|
||||
|
||||
- Fixed a bug which caused canonicalized package names to fail to resolve against PyPI. `#2989 <https://github.com/pypa/pipenv/issues/2989>`_
|
||||
|
||||
- Enhanced CI detection to detect Azure Devops builds. `#2993 <https://github.com/pypa/pipenv/issues/2993>`_
|
||||
|
||||
- Fixed a bug which prevented installing pinned versions which used redirection symbols from the command line. `#2998 <https://github.com/pypa/pipenv/issues/2998>`_
|
||||
|
||||
- Fixed a bug which prevented installing the local directory in non-editable mode. `#3005 <https://github.com/pypa/pipenv/issues/3005>`_
|
||||
|
||||
|
||||
Vendored Libraries
|
||||
------------------
|
||||
|
||||
- Updated ``requirementslib`` to version ``1.1.9``. `#2989 <https://github.com/pypa/pipenv/issues/2989>`_
|
||||
|
||||
- Upgraded ``pythonfinder => 1.1.1`` and ``vistir => 0.1.7``. `#3007 <https://github.com/pypa/pipenv/issues/3007>`_
|
||||
|
||||
|
||||
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 <https://github.com/pypa/pipenv/issues/2527>`_
|
||||
|
||||
- Updated test-pypi addon to better support json-api access (forward compatibility).
|
||||
Improved testing process for new contributors. `#2568 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2582>`_
|
||||
|
||||
- Added support for ``pipenv shell`` on msys and cygwin/mingw/git bash for Windows. `#2641 <https://github.com/pypa/pipenv/issues/2641>`_
|
||||
|
||||
- Enhanced resolution of editable and VCS dependencies. `#2643 <https://github.com/pypa/pipenv/issues/2643>`_
|
||||
|
||||
- Deduplicate and refactor CLI to use stateful arguments and object passing. See `this issue <https://github.com/pallets/click/issues/108>`_ for reference. `#2814 <https://github.com/pypa/pipenv/issues/2814>`_
|
||||
|
||||
|
||||
Behavior Changes
|
||||
----------------
|
||||
|
||||
- Virtual environment activation for ``run`` is revised to improve interpolation
|
||||
with other Python discovery tools. `#2503 <https://github.com/pypa/pipenv/issues/2503>`_
|
||||
|
||||
- Improve terminal coloring to display better in Powershell. `#2511 <https://github.com/pypa/pipenv/issues/2511>`_
|
||||
|
||||
- Invoke ``virtualenv`` directly for virtual environment creation, instead of depending on ``pew``. `#2518 <https://github.com/pypa/pipenv/issues/2518>`_
|
||||
|
||||
- ``pipenv --help`` will now include short help descriptions. `#2542 <https://github.com/pypa/pipenv/issues/2542>`_
|
||||
|
||||
- Add ``COMSPEC`` to fallback option (along with ``SHELL`` and ``PYENV_SHELL``)
|
||||
if shell detection fails, improving robustness on Windows. `#2651 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2718>`_
|
||||
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
|
||||
- Fixed a bug which prevented installation of editable requirements using ``ssh://`` style urls `#1393 <https://github.com/pypa/pipenv/issues/1393>`_
|
||||
|
||||
- VCS Refs for locked local editable dependencies will now update appropriately to the latest hash when running ``pipenv update``. `#1690 <https://github.com/pypa/pipenv/issues/1690>`_
|
||||
|
||||
- ``.tar.gz`` and ``.zip`` artifacts will now have dependencies installed even when they are missing from the lockfile. `#2173 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2279>`_
|
||||
|
||||
- Fixed the ability of pipenv to parse ``dependency_links`` from ``setup.py`` when ``PIP_PROCESS_DEPENDENCY_LINKS`` is enabled. `#2434 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2494>`_
|
||||
|
||||
- Fixed non-deterministic resolution issues related to changes to the internal package finder in ``pip 10``. `#2499 <https://github.com/pypa/pipenv/issues/2499>`_,
|
||||
`#2529 <https://github.com/pypa/pipenv/issues/2529>`_,
|
||||
`#2589 <https://github.com/pypa/pipenv/issues/2589>`_,
|
||||
`#2666 <https://github.com/pypa/pipenv/issues/2666>`_,
|
||||
`#2767 <https://github.com/pypa/pipenv/issues/2767>`_,
|
||||
`#2785 <https://github.com/pypa/pipenv/issues/2785>`_,
|
||||
`#2795 <https://github.com/pypa/pipenv/issues/2795>`_,
|
||||
`#2801 <https://github.com/pypa/pipenv/issues/2801>`_,
|
||||
`#2824 <https://github.com/pypa/pipenv/issues/2824>`_,
|
||||
`#2862 <https://github.com/pypa/pipenv/issues/2862>`_,
|
||||
`#2879 <https://github.com/pypa/pipenv/issues/2879>`_,
|
||||
`#2894 <https://github.com/pypa/pipenv/issues/2894>`_,
|
||||
`#2933 <https://github.com/pypa/pipenv/issues/2933>`_
|
||||
|
||||
- Fix subshell invocation on Windows for Python 2. `#2515 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2561>`_
|
||||
|
||||
- Improve quoting logic for ``pipenv run`` so it works better with Windows
|
||||
built-in commands. `#2563 <https://github.com/pypa/pipenv/issues/2563>`_
|
||||
|
||||
- Fixed a bug related to parsing vcs requirements with both extras and subdirectory fragments.
|
||||
Corrected an issue in the ``requirementslib`` parser which led to some markers being discarded rather than evaluated. `#2564 <https://github.com/pypa/pipenv/issues/2564>`_
|
||||
|
||||
- Fixed multiple issues with finding the correct system python locations. `#2582 <https://github.com/pypa/pipenv/issues/2582>`_
|
||||
|
||||
- Catch JSON decoding error to prevent exception when the lock file is of
|
||||
invalid format. `#2607 <https://github.com/pypa/pipenv/issues/2607>`_
|
||||
|
||||
- Fixed a rare bug which could sometimes cause errors when installing packages with custom sources. `#2610 <https://github.com/pypa/pipenv/issues/2610>`_
|
||||
|
||||
- Update requirementslib to fix a bug which could raise an ``UnboundLocalError`` when parsing malformed VCS URIs. `#2617 <https://github.com/pypa/pipenv/issues/2617>`_
|
||||
|
||||
- Fixed an issue which prevented passing multiple ``--ignore`` parameters to ``pipenv check``. `#2632 <https://github.com/pypa/pipenv/issues/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 to ``ssh://`` URIs improperly. `#2639 <https://github.com/pypa/pipenv/issues/2639>`_
|
||||
|
||||
- Fixed a bug which caused paths to be formatted incorrectly when using ``pipenv shell`` in bash for windows. `#2641 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2643>`_
|
||||
|
||||
- Fixed a bug which sometimes caused pipenv to parse the ``trusted_host`` argument to pip incorrectly when parsing source URLs which specify ``verify_ssl = false``. `#2656 <https://github.com/pypa/pipenv/issues/2656>`_
|
||||
|
||||
- Prevent crashing when a virtual environment in ``WORKON_HOME`` is faulty. `#2676 <https://github.com/pypa/pipenv/issues/2676>`_
|
||||
|
||||
- Fixed virtualenv creation failure when a .venv file is present in the project root. `#2680 <https://github.com/pypa/pipenv/issues/2680>`_
|
||||
|
||||
- Fixed a bug which could cause the ``-e/--editable`` argument on a dependency to be accidentally parsed as a dependency itself. `#2714 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2732>`_
|
||||
|
||||
- All markers are now included in ``pipenv lock --requirements`` output. `#2748 <https://github.com/pypa/pipenv/issues/2748>`_
|
||||
|
||||
- Fixed a bug in marker resolution which could cause duplicate and non-deterministic markers. `#2760 <https://github.com/pypa/pipenv/issues/2760>`_
|
||||
|
||||
- Fixed a bug in the dependency resolver which caused regular issues when handling ``setup.py`` based dependency resolution. `#2766 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2802>`_,
|
||||
`#2867 <https://github.com/pypa/pipenv/issues/2867>`_,
|
||||
`#2880 <https://github.com/pypa/pipenv/issues/2880>`_
|
||||
|
||||
- Fixed a bug where `pipenv` crashes when the `WORKON_HOME` directory does not exist. `#2877 <https://github.com/pypa/pipenv/issues/2877>`_
|
||||
|
||||
- Fixed pip is not loaded from pipenv's patched one but the system one `#2912 <https://github.com/pypa/pipenv/issues/2912>`_
|
||||
|
||||
- Fixed various bugs related to ``pip 18.1`` release which prevented locking, installation, and syncing, and dumping to a ``requirements.txt`` file. `#2924 <https://github.com/pypa/pipenv/issues/2924>`_
|
||||
|
||||
|
||||
Vendored Libraries
|
||||
------------------
|
||||
|
||||
- Pew is no longer vendored. Entry point ``pewtwo``, packages ``pipenv.pew`` and
|
||||
``pipenv.patched.pew`` are removed. `#2521 <https://github.com/pypa/pipenv/issues/2521>`_
|
||||
|
||||
- Update ``pythonfinder`` to major release ``1.0.0`` for integration. `#2582 <https://github.com/pypa/pipenv/issues/2582>`_
|
||||
|
||||
- Update requirementslib to fix a bug which could raise an ``UnboundLocalError`` when parsing malformed VCS URIs. `#2617 <https://github.com/pypa/pipenv/issues/2617>`_
|
||||
|
||||
- - Vendored new libraries ``vistir`` and ``pip-shims``, ``tomlkit``, ``modutil``, and ``plette``.
|
||||
|
||||
- Update vendored libraries:
|
||||
- ``scandir`` to ``1.9.0``
|
||||
- ``click-completion`` to ``0.4.1``
|
||||
- ``semver`` to ``2.8.1``
|
||||
- ``shellingham`` to ``1.2.4``
|
||||
- ``pytoml`` to ``0.1.18``
|
||||
- ``certifi`` to ``2018.8.24``
|
||||
- ``ptyprocess`` to ``0.6.0``
|
||||
- ``requirementslib`` to ``1.1.5``
|
||||
- ``pythonfinder`` to ``1.0.2``
|
||||
- ``pipdeptree`` to ``0.13.0``
|
||||
- ``python-dotenv`` to ``0.9.1`` `#2639 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2902>`_,
|
||||
`#2935 <https://github.com/pypa/pipenv/issues/2935>`_
|
||||
|
||||
|
||||
Improved Documentation
|
||||
----------------------
|
||||
|
||||
- Simplified the test configuration process. `#2568 <https://github.com/pypa/pipenv/issues/2568>`_
|
||||
|
||||
- Updated documentation to use working fortune cookie addon. `#2644 <https://github.com/pypa/pipenv/issues/2644>`_
|
||||
|
||||
- Added additional information about troubleshooting ``pipenv shell`` by using the the ``$PIPENV_SHELL`` environment variable. `#2671 <https://github.com/pypa/pipenv/issues/2671>`_
|
||||
|
||||
- Added a link to ``PEP-440`` version specifiers in the documentation for additional detail. `#2674 <https://github.com/pypa/pipenv/issues/2674>`_
|
||||
|
||||
- Added simple example to README.md for installing from git. `#2685 <https://github.com/pypa/pipenv/issues/2685>`_
|
||||
|
||||
- Stopped recommending `--system` for Docker contexts. `#2762 <https://github.com/pypa/pipenv/issues/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 <https://github.com/pypa/pipenv/issues/2792>`_
|
||||
|
||||
- Fixed link to the "be cordial" essay in the contribution documentation. `#2793 <https://github.com/pypa/pipenv/issues/2793>`_
|
||||
|
||||
- Clarify `pipenv install` documentation `#2844 <https://github.com/pypa/pipenv/issues/2844>`_
|
||||
|
||||
- Replace reference to uservoice with PEEP-000 `#2909 <https://github.com/pypa/pipenv/issues/2909>`_
|
||||
|
||||
|
||||
2018.7.1 (2018-07-01)
|
||||
=====================
|
||||
|
||||
|
||||
+11
-4
@@ -1,11 +1,18 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
# -- Install Pipenv:
|
||||
RUN apt update && apt install python3-pip git -y && pip3 install pipenv
|
||||
FROM heroku/heroku:18-build
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
ENV LC_ALL C.UTF-8
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
# -- Install Pipenv:
|
||||
RUN apt update && apt upgrade -y && apt install python3.7-dev -y
|
||||
RUN curl --silent https://bootstrap.pypa.io/get-pip.py | python3.7
|
||||
|
||||
# Backwards compatility.
|
||||
RUN rm -fr /usr/bin/python3 && ln /usr/bin/python3.7 /usr/bin/python3
|
||||
|
||||
RUN pip3 install pipenv
|
||||
|
||||
# -- Install Application into container:
|
||||
RUN set -ex && mkdir /app
|
||||
|
||||
|
||||
+3
-1
@@ -8,6 +8,7 @@ recursive-include pipenv *.md *.APACHE *.BSD
|
||||
recursive-include pipenv Makefile
|
||||
recursive-include pipenv/vendor vendor.txt
|
||||
recursive-include pipenv README
|
||||
recursive-include pipenv *.json
|
||||
include pipenv/patched/notpip/_vendor/vendor.txt
|
||||
include pipenv/patched/safety.zip pipenv/patched/patched.txt
|
||||
include pipenv/vendor/pipreqs/stdlib pipenv/vendor/pipreqs/mapping
|
||||
@@ -23,7 +24,8 @@ recursive-include docs Makefile *.rst *.py *.bat
|
||||
recursive-include docs/_templates *.html
|
||||
recursive-include docs/_static *.js *.css *.png
|
||||
recursive-exclude docs requirements*.txt
|
||||
|
||||
recursive-exclude pipenv *.pyi
|
||||
recursive-exclude pipenv *.typed
|
||||
|
||||
prune peeps
|
||||
prune .buildkite
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
The contents of the vendor and patched directories are subject to different licenses
|
||||
than the rest of this project. Their respective licenses can be looked
|
||||
up at pypi.python.org or in their corresponding LICENSE files.
|
||||
than the rest of this project.
|
||||
|
||||
Their respective licenses can be looked up at pypi.python.org or in their
|
||||
corresponding LICENSE files.
|
||||
|
||||
Generated
+196
-101
@@ -17,17 +17,16 @@
|
||||
"develop": {
|
||||
"alabaster": {
|
||||
"hashes": [
|
||||
"sha256:674bb3bab080f598371f4443c5008cbfeb1a5e622dd312395d2d82af2c54c456",
|
||||
"sha256:b63b1f4dc77c074d386752ec4a8a7517600f6c0db8cd42980cae17ab7b3275d7"
|
||||
"sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359",
|
||||
"sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"
|
||||
],
|
||||
"version": "==0.7.11"
|
||||
"version": "==0.7.12"
|
||||
},
|
||||
"apipkg": {
|
||||
"hashes": [
|
||||
"sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6",
|
||||
"sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version != '3.1.*' and python_version != '3.2.*' and python_version != '3.3.*' and python_version != '3.0.*'",
|
||||
"version": "==1.5"
|
||||
},
|
||||
"appdirs": {
|
||||
@@ -54,17 +53,17 @@
|
||||
},
|
||||
"atomicwrites": {
|
||||
"hashes": [
|
||||
"sha256:240831ea22da9ab882b551b31d4225591e5e447a68c5e188db5b89ca1d487585",
|
||||
"sha256:a24da68318b08ac9c9c45029f4a10371ab5b20e4226738e150e6e7c571630ae6"
|
||||
"sha256:0312ad34fcad8fac3704d441f7b317e50af620823353ec657a53e981f92920c0",
|
||||
"sha256:ec9ae8adaae229e4f8446952d204a3e4b5fdd2d099f9be3aaf556120135fb3ee"
|
||||
],
|
||||
"version": "==1.1.5"
|
||||
"version": "==1.2.1"
|
||||
},
|
||||
"attrs": {
|
||||
"hashes": [
|
||||
"sha256:4b90b09eeeb9b88c35bc642cbac057e45a5fd85367b985bd2809c62b7b939265",
|
||||
"sha256:e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b"
|
||||
"sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69",
|
||||
"sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb"
|
||||
],
|
||||
"version": "==18.1.0"
|
||||
"version": "==18.2.0"
|
||||
},
|
||||
"babel": {
|
||||
"hashes": [
|
||||
@@ -75,12 +74,19 @@
|
||||
},
|
||||
"black": {
|
||||
"hashes": [
|
||||
"sha256:22158b89c1a6b4eb333a1e65e791a3f8b998cf3b11ae094adb2570f31f769a44",
|
||||
"sha256:4b475bbd528acce094c503a3d2dbc2d05a4075f6d0ef7d9e7514518e14cc5191"
|
||||
"sha256:817243426042db1d36617910df579a54f1afd659adb96fc5032fcf4b36209739",
|
||||
"sha256:e030a9a28f542debc08acceb273f228ac422798e5215ba2a791a6ddeaaca22a5"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==18.6b4"
|
||||
"version": "==18.9b0"
|
||||
},
|
||||
"bleach": {
|
||||
"hashes": [
|
||||
"sha256:9c471c0dd9c820f6bf4ee5ca3e348ceccefbc1475d9a40c397ed5d04e0b42c54",
|
||||
"sha256:b407b2612b37e6cdc6704f84cec18c1f140b78e6c625652a844e89d6b9855f6b"
|
||||
],
|
||||
"version": "==3.0.0"
|
||||
},
|
||||
"cerberus": {
|
||||
"hashes": [
|
||||
@@ -90,10 +96,47 @@
|
||||
},
|
||||
"certifi": {
|
||||
"hashes": [
|
||||
"sha256:4c1d68a1408dd090d2f3a869aa94c3947cc1d967821d1ed303208c9f41f0f2f4",
|
||||
"sha256:b6e8b28b2b7e771a41ecdd12d4d43262ecab52adebbafa42c77d6b57fb6ad3a4"
|
||||
"sha256:376690d6f16d32f9d1fe8932551d80b23e9d393a8578c5633a2ed39a64861638",
|
||||
"sha256:456048c7e371c089d0a77a5212fb37a2c2dce1e24146e3b7e0261736aaeaa22a"
|
||||
],
|
||||
"version": "==2018.8.13"
|
||||
"version": "==2018.8.24"
|
||||
},
|
||||
"cffi": {
|
||||
"hashes": [
|
||||
"sha256:151b7eefd035c56b2b2e1eb9963c90c6302dc15fbd8c1c0a83a163ff2c7d7743",
|
||||
"sha256:1553d1e99f035ace1c0544050622b7bc963374a00c467edafac50ad7bd276aef",
|
||||
"sha256:1b0493c091a1898f1136e3f4f991a784437fac3673780ff9de3bcf46c80b6b50",
|
||||
"sha256:2ba8a45822b7aee805ab49abfe7eec16b90587f7f26df20c71dd89e45a97076f",
|
||||
"sha256:3bb6bd7266598f318063e584378b8e27c67de998a43362e8fce664c54ee52d30",
|
||||
"sha256:3c85641778460581c42924384f5e68076d724ceac0f267d66c757f7535069c93",
|
||||
"sha256:3eb6434197633b7748cea30bf0ba9f66727cdce45117a712b29a443943733257",
|
||||
"sha256:495c5c2d43bf6cebe0178eb3e88f9c4aa48d8934aa6e3cddb865c058da76756b",
|
||||
"sha256:4c91af6e967c2015729d3e69c2e51d92f9898c330d6a851bf8f121236f3defd3",
|
||||
"sha256:57b2533356cb2d8fac1555815929f7f5f14d68ac77b085d2326b571310f34f6e",
|
||||
"sha256:770f3782b31f50b68627e22f91cb182c48c47c02eb405fd689472aa7b7aa16dc",
|
||||
"sha256:79f9b6f7c46ae1f8ded75f68cf8ad50e5729ed4d590c74840471fc2823457d04",
|
||||
"sha256:7a33145e04d44ce95bcd71e522b478d282ad0eafaf34fe1ec5bbd73e662f22b6",
|
||||
"sha256:857959354ae3a6fa3da6651b966d13b0a8bed6bbc87a0de7b38a549db1d2a359",
|
||||
"sha256:87f37fe5130574ff76c17cab61e7d2538a16f843bb7bca8ebbc4b12de3078596",
|
||||
"sha256:95d5251e4b5ca00061f9d9f3d6fe537247e145a8524ae9fd30a2f8fbce993b5b",
|
||||
"sha256:9d1d3e63a4afdc29bd76ce6aa9d58c771cd1599fbba8cf5057e7860b203710dd",
|
||||
"sha256:a36c5c154f9d42ec176e6e620cb0dd275744aa1d804786a71ac37dc3661a5e95",
|
||||
"sha256:a6a5cb8809091ec9ac03edde9304b3ad82ad4466333432b16d78ef40e0cce0d5",
|
||||
"sha256:ae5e35a2c189d397b91034642cb0eab0e346f776ec2eb44a49a459e6615d6e2e",
|
||||
"sha256:b0f7d4a3df8f06cf49f9f121bead236e328074de6449866515cea4907bbc63d6",
|
||||
"sha256:b75110fb114fa366b29a027d0c9be3709579602ae111ff61674d28c93606acca",
|
||||
"sha256:ba5e697569f84b13640c9e193170e89c13c6244c24400fc57e88724ef610cd31",
|
||||
"sha256:be2a9b390f77fd7676d80bc3cdc4f8edb940d8c198ed2d8c0be1319018c778e1",
|
||||
"sha256:ca1bd81f40adc59011f58159e4aa6445fc585a32bb8ac9badf7a2c1aa23822f2",
|
||||
"sha256:d5d8555d9bfc3f02385c1c37e9f998e2011f0db4f90e250e5bc0c0a85a813085",
|
||||
"sha256:e55e22ac0a30023426564b1059b035973ec82186ddddbac867078435801c7801",
|
||||
"sha256:e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4",
|
||||
"sha256:ecbb7b01409e9b782df5ded849c178a0aa7c906cf8c5a67368047daab282b184",
|
||||
"sha256:ed01918d545a38998bfa5902c7c00e0fee90e957ce036a4000a88e3fe2264917",
|
||||
"sha256:edabd457cd23a02965166026fd9bfd196f4324fe6032e866d0f3bd0301cd486f",
|
||||
"sha256:fdf1c1dc5bafc32bc5d08b054f94d659422b05aba244d6be4ddc1c72d9aa70fb"
|
||||
],
|
||||
"version": "==1.11.5"
|
||||
},
|
||||
"chardet": {
|
||||
"hashes": [
|
||||
@@ -104,11 +147,44 @@
|
||||
},
|
||||
"click": {
|
||||
"hashes": [
|
||||
"sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d",
|
||||
"sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
|
||||
"sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13",
|
||||
"sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==6.7"
|
||||
"version": "==7.0"
|
||||
},
|
||||
"cmarkgfm": {
|
||||
"hashes": [
|
||||
"sha256:0186dccca79483e3405217993b83b914ba4559fe9a8396efc4eea56561b74061",
|
||||
"sha256:1a625afc6f62da428df96ec325dc30866cc5781520cbd904ff4ec44cf018171c",
|
||||
"sha256:207b7673ff4e177374c572feeae0e4ef33be620ec9171c08fd22e2b796e03e3d",
|
||||
"sha256:275905bb371a99285c74931700db3f0c078e7603bed383e8cf1a09f3ee05a3de",
|
||||
"sha256:50098f1c4950722521f0671e54139e0edc1837d63c990cf0f3d2c49607bb51a2",
|
||||
"sha256:50ed116d0b60a07df0dc7b180c28569064b9d37d1578d4c9021cff04d725cb63",
|
||||
"sha256:61a72def110eed903cd1848245897bcb80d295cd9d13944d4f9f30cba5b76655",
|
||||
"sha256:64186fb75d973a06df0e6ea12879533b71f6e7ba1ab01ffee7fc3e7534758889",
|
||||
"sha256:665303d34d7f14f10d7b0651082f25ebf7107f29ef3d699490cac16cdc0fc8ce",
|
||||
"sha256:70b18f843aec58e4e64aadce48a897fe7c50426718b7753aaee399e72df64190",
|
||||
"sha256:761ee7b04d1caee2931344ac6bfebf37102ffb203b136b676b0a71a3f0ea3c87",
|
||||
"sha256:811527e9b7280b136734ed6cb6845e5fbccaeaa132ddf45f0246cbe544016957",
|
||||
"sha256:987b0e157f70c72a84f3c2f9ef2d7ab0f26c08f2bf326c12c087ff9eebcb3ff5",
|
||||
"sha256:9fc6a2183d0a9b0974ec7cdcdad42bd78a3be674cc3e65f87dd694419b3b0ab7",
|
||||
"sha256:a3d17ee4ae739fe16f7501a52255c2e287ac817cfd88565b9859f70520afffea",
|
||||
"sha256:ba5b5488719c0f2ced0aa1986376f7baff1a1653a8eb5fdfcf3f84c7ce46ef8d",
|
||||
"sha256:c573ea89dd95d41b6d8cf36799c34b6d5b1eac4aed0212dee0f0a11fb7b01e8f",
|
||||
"sha256:c5f1b9e8592d2c448c44e6bc0d91224b16ea5f8293908b1561de1f6d2d0658b1",
|
||||
"sha256:cbe581456357d8f0674d6a590b1aaf46c11d01dd0a23af147a51a798c3818034",
|
||||
"sha256:cf219bec69e601fe27e3974b7307d2f06082ab385d42752738ad2eb630a47d65",
|
||||
"sha256:cf5014eb214d814a83a7a47407272d5db10b719dbeaf4d3cfe5969309d0fcf4b",
|
||||
"sha256:d08bad67fa18f7e8ff738c090628ee0cbf0505d74a991c848d6d04abfe67b697",
|
||||
"sha256:d6f716d7b1182bf35862b5065112f933f43dd1aa4f8097c9bcfb246f71528a34",
|
||||
"sha256:e08e479102627641c7cb4ece421c6ed4124820b1758765db32201136762282d9",
|
||||
"sha256:e20ac21418af0298437d29599f7851915497ce9f2866bc8e86b084d8911ee061",
|
||||
"sha256:e25f53c37e319241b9a412382140dffac98ca756ba8f360ac7ab5e30cad9670a",
|
||||
"sha256:e8932bddf159064f04e946fbb64693753488de21586f20e840b3be51745c8c09",
|
||||
"sha256:f20900f16377f2109783ae9348d34bc80530808439591c3d3df73d5c7ef1a00c"
|
||||
],
|
||||
"version": "==0.4.2"
|
||||
},
|
||||
"colorama": {
|
||||
"hashes": [
|
||||
@@ -127,9 +203,9 @@
|
||||
},
|
||||
"distlib": {
|
||||
"hashes": [
|
||||
"sha256:cd502c66fc27c535bab62dc4f482e403e2369c2c05281a79cc2d4e2f42a87f20"
|
||||
"sha256:57977cd7d9ea27986ec62f425630e4ddb42efe651ff80bc58ed8dbc3c7c21f19"
|
||||
],
|
||||
"version": "==0.2.7"
|
||||
"version": "==0.2.8"
|
||||
},
|
||||
"docutils": {
|
||||
"hashes": [
|
||||
@@ -154,7 +230,6 @@
|
||||
"sha256:a7a84d5fa07a089186a329528f127c9d73b9de57f1a1131b82bb5320ee651f6a",
|
||||
"sha256:fc155a6b553c66c838d1a22dba1dc9f5f505c43285a878c6f74a79c024750b83"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version != '3.1.*' and python_version != '3.2.*' and python_version != '3.3.*' and python_version != '3.0.*'",
|
||||
"version": "==1.5.0"
|
||||
},
|
||||
"first": {
|
||||
@@ -203,6 +278,12 @@
|
||||
"markers": "python_version < '3' and python_version >= '2.6'",
|
||||
"version": "==3.2.0"
|
||||
},
|
||||
"future": {
|
||||
"hashes": [
|
||||
"sha256:e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
|
||||
],
|
||||
"version": "==0.16.0"
|
||||
},
|
||||
"idna": {
|
||||
"hashes": [
|
||||
"sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e",
|
||||
@@ -212,10 +293,10 @@
|
||||
},
|
||||
"imagesize": {
|
||||
"hashes": [
|
||||
"sha256:3620cc0cadba3f7475f9940d22431fc4d407269f1be59ec9b8edcca26440cf18",
|
||||
"sha256:5b326e4678b6925158ccc66a9fa3122b6106d7c876ee32d7de6ce59385b96315"
|
||||
"sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8",
|
||||
"sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5"
|
||||
],
|
||||
"version": "==1.0.0"
|
||||
"version": "==1.1.0"
|
||||
},
|
||||
"incremental": {
|
||||
"hashes": [
|
||||
@@ -226,12 +307,12 @@
|
||||
},
|
||||
"invoke": {
|
||||
"hashes": [
|
||||
"sha256:1c2cf54c9b9af973ad9704d8ba81b225117cab612568cacbfb3fc42958cc20a9",
|
||||
"sha256:334495ea16e73948894e9535019f87a88a44b73e7977492b12c2d1b5085f8197",
|
||||
"sha256:54bdd3fd0245abd1185e05359fd2e4f26be0657cfe7d7bb1bed735e054fa53ab"
|
||||
"sha256:4f4de934b15c2276caa4fbc5a3b8a61c0eb0b234f2be1780d2b793321995c2d6",
|
||||
"sha256:dc492f8f17a0746e92081aec3f86ae0b4750bf41607ea2ad87e5a7b5705121b7",
|
||||
"sha256:eb6f9262d4d25b40330fb21d1e99bf0f85011ccc3526980f8a3eaedd4b43892e"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.1.1"
|
||||
"version": "==1.2.0"
|
||||
},
|
||||
"isort": {
|
||||
"hashes": [
|
||||
@@ -250,11 +331,11 @@
|
||||
},
|
||||
"jedi": {
|
||||
"hashes": [
|
||||
"sha256:b409ed0f6913a701ed474a614a3bb46e6953639033e31f769ca7581da5bd1ec1",
|
||||
"sha256:c254b135fb39ad76e78d4d8f92765ebc9bf92cbc76f49e97ade1d5f5121e1f6f"
|
||||
"sha256:0191c447165f798e6a730285f2eee783fff81b0d3df261945ecb80983b5c3ca7",
|
||||
"sha256:b7493f73a2febe0dc33d51c99b474547f7f6c0b2c8fb2b21f453eef204c12148"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==0.12.1"
|
||||
"version": "==0.13.1"
|
||||
},
|
||||
"jinja2": {
|
||||
"hashes": [
|
||||
@@ -284,14 +365,6 @@
|
||||
"index": "pypi",
|
||||
"version": "==2.0.0"
|
||||
},
|
||||
"modutil": {
|
||||
"hashes": [
|
||||
"sha256:2c85c1666649e92e56de17c00e1e831313602d9b55e8661d39c01e39003b45f7",
|
||||
"sha256:cc3dad264e36ed359fdd67c4588959d2996bd0402ad9c9d974ca906821537218"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==2.0.0"
|
||||
},
|
||||
"more-itertools": {
|
||||
"hashes": [
|
||||
"sha256:c187a73da93e7a8acc0001572aebc7e3c69daf7bf6881a2cea10650bd4420092",
|
||||
@@ -302,10 +375,10 @@
|
||||
},
|
||||
"packaging": {
|
||||
"hashes": [
|
||||
"sha256:e9215d2d2535d3ae866c3d6efc77d5b24a0192cce0ff20e42896cc0664f889c0",
|
||||
"sha256:f019b770dd64e585a99714f1fd5e01c7a8f11b45635aa953fd41c689a657375b"
|
||||
"sha256:0886227f54515e592aaa2e5a553332c73962917f2831f1b0f9b9f4380a4b9807",
|
||||
"sha256:f95a1e147590f204328170981833854229bb2912ac3d5f89e2a8ccd2834800c9"
|
||||
],
|
||||
"version": "==17.1"
|
||||
"version": "==18.0"
|
||||
},
|
||||
"parso": {
|
||||
"hashes": [
|
||||
@@ -325,21 +398,21 @@
|
||||
"passa": {
|
||||
"editable": true,
|
||||
"git": "https://github.com/sarugaku/passa.git",
|
||||
"ref": "54e65e01744cafbcab44eb15422e1604b615caae"
|
||||
"ref": "4f3b8102f122cf0b75e5d7c513a2e61b0b093dcd"
|
||||
},
|
||||
"pbr": {
|
||||
"hashes": [
|
||||
"sha256:1b8be50d938c9bb75d0eaf7eda111eec1bf6dc88a62a6412e33bf077457e0f45",
|
||||
"sha256:b486975c0cafb6beeb50ca0e17ba047647f229087bd74e37f4a7e2cac17d2caa"
|
||||
"sha256:1be135151a0da949af8c5d0ee9013d9eafada71237eb80b3ba8896b4f12ec5dc",
|
||||
"sha256:cf36765bf2218654ae824ec8e14257259ba44e43b117fd573c8d07a9895adbdd"
|
||||
],
|
||||
"version": "==4.2.0"
|
||||
"version": "==4.3.0"
|
||||
},
|
||||
"pip-shims": {
|
||||
"hashes": [
|
||||
"sha256:9c8a568b4a8ce4000a2982224f48a35736fca81214dfdb30dcae24287866a7e4",
|
||||
"sha256:ebc2bb29ddd21fa00c0cf28a5d8c725100f2f7ee98703aba237efd02e205c1c1"
|
||||
"sha256:164b93bc94b207613d9632f28f4d55eba9301f9454aaaba335de36c24d92d106",
|
||||
"sha256:27e2439aa93af8c1b8e58cf63a40cbcd26959b26424904f2e6d57837af8f76c5"
|
||||
],
|
||||
"version": "==0.1.2"
|
||||
"version": "==0.3.0"
|
||||
},
|
||||
"pipenv": {
|
||||
"editable": true,
|
||||
@@ -354,11 +427,10 @@
|
||||
},
|
||||
"plette": {
|
||||
"hashes": [
|
||||
"sha256:3c2bbf439dad64d9a89459c20305b976d797ae1c2ad48a540e7022b377717851",
|
||||
"sha256:cc9490a009494395dea286f4f488e0839ac06e1361d4951cc12fe621b6f0a68c"
|
||||
"sha256:c0e3553c1e581d8423daccbd825789c6e7f29b7d9e00e5331b12e1642a1a26d3",
|
||||
"sha256:dde5d525cf5f0cbad4d938c83b93db17887918daf63c13eafed257c4f61b07b4"
|
||||
],
|
||||
"markers": "python_version >= '2.6'",
|
||||
"version": "==0.1.1"
|
||||
"version": "==0.2.2"
|
||||
},
|
||||
"pluggy": {
|
||||
"hashes": [
|
||||
@@ -369,10 +441,10 @@
|
||||
},
|
||||
"py": {
|
||||
"hashes": [
|
||||
"sha256:3fd59af7435864e1a243790d322d763925431213b6b8529c6ca71081ace3bbf7",
|
||||
"sha256:e31fb2767eb657cbde86c454f02e99cb846d3cd9d61b318525140214fdc0e98e"
|
||||
"sha256:06a30435d058473046be836d3fc4f27167fd84c45b99704f2fb5509ef61f9af1",
|
||||
"sha256:50402e9d1c9005d759426988a492e0edaadb7f4e68bcddfea586bc7432d009c6"
|
||||
],
|
||||
"version": "==1.5.4"
|
||||
"version": "==1.6.0"
|
||||
},
|
||||
"pycodestyle": {
|
||||
"hashes": [
|
||||
@@ -381,6 +453,12 @@
|
||||
],
|
||||
"version": "==2.3.1"
|
||||
},
|
||||
"pycparser": {
|
||||
"hashes": [
|
||||
"sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"
|
||||
],
|
||||
"version": "==2.19"
|
||||
},
|
||||
"pyflakes": {
|
||||
"hashes": [
|
||||
"sha256:08bd6a50edf8cffa9fa09a463063c425ecaaf10d1eb0335a7e8b1401aef89e6f",
|
||||
@@ -397,25 +475,24 @@
|
||||
},
|
||||
"pyparsing": {
|
||||
"hashes": [
|
||||
"sha256:0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04",
|
||||
"sha256:fee43f17a9c4087e7ed1605bd6df994c6173c1e977d7ade7b651292fab2bd010"
|
||||
"sha256:bc6c7146b91af3f567cf6daeaec360bc07d45ffec4cf5353f4d7a208ce7ca30a",
|
||||
"sha256:d29593d8ebe7b57d6967b62494f8c72b03ac0262b1eed63826c6f788b3606401"
|
||||
],
|
||||
"version": "==2.2.0"
|
||||
"version": "==2.2.2"
|
||||
},
|
||||
"pytest": {
|
||||
"hashes": [
|
||||
"sha256:3459a123ad5532852d36f6f4501dfe1acf4af1dd9541834a164666aa40395b02",
|
||||
"sha256:96bfd45dbe863b447a3054145cd78a9d7f31475d2bce6111b133c0cc4f305118"
|
||||
"sha256:7e258ee50338f4e46957f9e09a0f10fb1c2d05493fa901d113a8dafd0790de4e",
|
||||
"sha256:9332147e9af2dcf46cd7ceb14d5acadb6564744ddff1fe8c17f0ce60ece7d9a2"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==3.7.2"
|
||||
"version": "==3.8.2"
|
||||
},
|
||||
"pytest-forked": {
|
||||
"hashes": [
|
||||
"sha256:e4500cd0509ec4a26535f7d4112a8cc0f17d3a41c29ffd4eab479d2a55b30805",
|
||||
"sha256:f275cb48a73fc61a6710726348e1da6d68a978f0ec0c54ece5a5fae5977e5a08"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version != '3.1.*' and python_version != '3.2.*' and python_version != '3.3.*' and python_version != '3.0.*'",
|
||||
"version": "==0.2"
|
||||
},
|
||||
"pytest-pypy": {
|
||||
@@ -424,19 +501,19 @@
|
||||
},
|
||||
"pytest-tap": {
|
||||
"hashes": [
|
||||
"sha256:06ff3ca882b69814f20e36533157394372479c91c21233964dab52c071faf8d3",
|
||||
"sha256:ea621f3ab77c12dc662ad6daeeb0152cfab522e2ef968d90500cf4c0a59dc965"
|
||||
"sha256:3b05ec931424bbe44e944726b68f7ef185bb6d25ce9ce21ac52c9af7ffa9b506",
|
||||
"sha256:ca063de56298034302f3cbce55c87a27d7bfa7af7de591cdb9ec6ce45fea5467"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==2.2"
|
||||
"version": "==2.3"
|
||||
},
|
||||
"pytest-xdist": {
|
||||
"hashes": [
|
||||
"sha256:3308c4f6221670432d01e0b393b333d77c1fd805532e1d64450e8140855eb51b",
|
||||
"sha256:cce08b4b7f56d34d43b365e2b3667ebb8edcf91d01c2a8fccf45c56d37e71bc1"
|
||||
"sha256:06aa39361694c9365baaa03bec71159b59ad06c9826c6279ebba368cb3571561",
|
||||
"sha256:1ef0d05c905cfa0c5442c90e9e350e65c6ada120e33a00a066ca51c89f5f869a"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.22.5"
|
||||
"version": "==1.23.2"
|
||||
},
|
||||
"pytz": {
|
||||
"hashes": [
|
||||
@@ -446,6 +523,13 @@
|
||||
"index": "pypi",
|
||||
"version": "==2018.5"
|
||||
},
|
||||
"readme-renderer": {
|
||||
"hashes": [
|
||||
"sha256:237ca8705ffea849870de41101dba41543561da05c0ae45b2f1c547efa9843d2",
|
||||
"sha256:f75049a3a7afa57165551e030dd8f9882ebf688b9600535a3f7e23596651875d"
|
||||
],
|
||||
"version": "==22.0"
|
||||
},
|
||||
"requests": {
|
||||
"hashes": [
|
||||
"sha256:63b52e3c866428a224f97cab011de738c36aec0185aa91cfacd418b5d58911d1",
|
||||
@@ -462,17 +546,17 @@
|
||||
},
|
||||
"requirementslib": {
|
||||
"hashes": [
|
||||
"sha256:698a566272669a470a8a439250353b0b628468ea0879f4f32e22245c2b9d9e44",
|
||||
"sha256:c7031b128e13eb8d8847f9ce409f3bfab49e8d111e7e8fca432ff8a737820653"
|
||||
"sha256:39fb4aab3ebd7f46b266ddc98a3ac731127ee35fe6cf1b3e11be7c6551cc2c9b",
|
||||
"sha256:810d8961f333d8fef92400f58b25f80003151fb424a545e244073fc3d95ae2dd"
|
||||
],
|
||||
"version": "==1.1.1"
|
||||
"version": "==1.1.7"
|
||||
},
|
||||
"resolvelib": {
|
||||
"hashes": [
|
||||
"sha256:d52f2c0762deeb2a4cc34a84371a7a5ac85e111bdc69ce9ae729d8d636606ad6",
|
||||
"sha256:eb759d43bbf50de9bf36afb9f6c269fabf9ff49084dbfad4ba67252d134bf4b5"
|
||||
"sha256:6c4c6690b0bdd78bcc002e1a5d1b6abbde58c694a6ea1838f165b20d2c943db7",
|
||||
"sha256:8734e53271ef98f38a2c99324d5e7905bc00c97dc3fc5bb7d83c82a979e71c04"
|
||||
],
|
||||
"version": "==0.2.1"
|
||||
"version": "==0.2.2"
|
||||
},
|
||||
"rope": {
|
||||
"hashes": [
|
||||
@@ -528,45 +612,44 @@
|
||||
},
|
||||
"tap.py": {
|
||||
"hashes": [
|
||||
"sha256:03accd27118473475b33b44703b223df2f148679b9b01b6ac59866df0b580073",
|
||||
"sha256:06416d376f0d398ab163674f30ea3b4a320957e4baa51793b8e86bdfdfeb857d"
|
||||
"sha256:8ad62ba6898fcef4913c67d468d0c4beae3109b74c03363538145e31b1840b29",
|
||||
"sha256:f6532fd7483c5fdc2ed13575fa4494e7d037f797f8a2c6f8809a859be61271f5"
|
||||
],
|
||||
"version": "==2.4"
|
||||
"version": "==2.5"
|
||||
},
|
||||
"toml": {
|
||||
"hashes": [
|
||||
"sha256:8e86bd6ce8cc11b9620cb637466453d94f5d57ad86f17e98a98d1f73e3baab2d"
|
||||
"sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c",
|
||||
"sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"
|
||||
],
|
||||
"version": "==0.9.4"
|
||||
"version": "==0.10.0"
|
||||
},
|
||||
"tomlkit": {
|
||||
"hashes": [
|
||||
"sha256:4f112445d6e52a038adf23b027ccb11905fdf88976990116e8f7b171b768cedb",
|
||||
"sha256:8b84ac193aa6366769f89541cf213efe9784ac125f08164974400c43f18fcd9f"
|
||||
"sha256:8ab16e93162fc44d3ad83d2aa29a7140b8f7d996ae1790a73b9a7aed6fb504ac",
|
||||
"sha256:ca181cee7aee805d455628f7c94eb8ae814763769a93e69157f250fe4ebe1926"
|
||||
],
|
||||
"markers": "python_version != '3.2.*' and python_version != '3.3.*' and python_version != '3.1.*' and python_version != '3.0.*' and python_version >= '2.7'",
|
||||
"version": "==0.4.2"
|
||||
"version": "==0.4.4"
|
||||
},
|
||||
"towncrier": {
|
||||
"editable": true,
|
||||
"git": "https://github.com/hawkowl/towncrier.git",
|
||||
"ref": "3d600a813b8bb4277b8bd77360e54531ce274b58"
|
||||
"ref": "47754a607a9b03f06affaf167d65b990786aae25"
|
||||
},
|
||||
"tqdm": {
|
||||
"hashes": [
|
||||
"sha256:5ef526702c0d265d5a960a3b27f3971fac13c26cf0fb819294bfa71fc6026c88",
|
||||
"sha256:a3364bd83ce4777320b862e3c8a93d7da91e20a95f06ef79bed7dd71c654cafa"
|
||||
"sha256:18f1818ce951aeb9ea162ae1098b43f583f7d057b34d706f66939353d1208889",
|
||||
"sha256:df02c0650160986bac0218bb07952245fc6960d23654648b5d5526ad5a4128c9"
|
||||
],
|
||||
"markers": "python_version != '3.1.*' and python_version != '3.0.*' and python_version >= '2.6'",
|
||||
"version": "==4.25.0"
|
||||
"version": "==4.26.0"
|
||||
},
|
||||
"twine": {
|
||||
"hashes": [
|
||||
"sha256:08eb132bbaec40c6d25b358f546ec1dc96ebd2638a86eea68769d9e67fe2b129",
|
||||
"sha256:2fd9a4d9ff0bcacf41fdc40c8cb0cfaef1f1859457c9653fd1b92237cc4e9f25"
|
||||
"sha256:7d89bc6acafb31d124e6e5b295ef26ac77030bf098960c2a4c4e058335827c5c",
|
||||
"sha256:fad6f1251195f7ddd1460cb76d6ea106c93adb4e56c41e0da79658e56e547d2c"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.11.0"
|
||||
"version": "==1.12.1"
|
||||
},
|
||||
"typing": {
|
||||
"hashes": [
|
||||
@@ -589,7 +672,6 @@
|
||||
"sha256:2ce32cd126117ce2c539f0134eb89de91a8413a29baac49cbab3eb50e2026669",
|
||||
"sha256:ca07b4c0b54e14a91af9f34d0919790b016923d157afda5efdde55c96718f752"
|
||||
],
|
||||
"markers": "python_version != '3.0.*' and python_version >= '2.7' and python_version != '3.2.*' and python_version != '3.1.*'",
|
||||
"version": "==16.0.0"
|
||||
},
|
||||
"virtualenv-clone": {
|
||||
@@ -601,10 +683,17 @@
|
||||
},
|
||||
"vistir": {
|
||||
"hashes": [
|
||||
"sha256:011e52dd2e09f948f638262dc39fef38998d134538705a810e88ad6d7bb94c1c",
|
||||
"sha256:f447923d4c59e8d50add4a9d8275b25a1f038f1a1a00ded50ee3c3d00a3c7f5d"
|
||||
"sha256:8a360ac20cbcc0863d6dbbe7a52e8b2c9ebf48abd6833c3813a82c70708244af",
|
||||
"sha256:bc6e10284792485c10585536e6aede9e38996c841cc9d2a67238cd05742c2d0b"
|
||||
],
|
||||
"version": "==0.1.4"
|
||||
"version": "==0.1.6"
|
||||
},
|
||||
"webencodings": {
|
||||
"hashes": [
|
||||
"sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78",
|
||||
"sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"
|
||||
],
|
||||
"version": "==0.5.1"
|
||||
},
|
||||
"werkzeug": {
|
||||
"hashes": [
|
||||
@@ -615,11 +704,17 @@
|
||||
},
|
||||
"wheel": {
|
||||
"hashes": [
|
||||
"sha256:0a2e54558a0628f2145d2fc822137e322412115173e8a2ddbe1c9024338ae83c",
|
||||
"sha256:80044e51ec5bbf6c894ba0bc48d26a8c20a9ba629f4ca19ea26ecfcf87685f5f"
|
||||
"sha256:9fa1f772f1a2df2bd00ddb4fa57e1cc349301e1facb98fbe62329803a9ff1196",
|
||||
"sha256:d215f4520a1ba1851a3c00ba2b4122665cd3d6b0834d2ba2816198b1e3024a0e"
|
||||
],
|
||||
"markers": "python_version != '3.0.*' and python_version >= '2.7' and python_version != '3.2.*' and python_version != '3.3.*' and python_version != '3.1.*'",
|
||||
"version": "==0.31.1"
|
||||
"version": "==0.32.1"
|
||||
},
|
||||
"yaspin": {
|
||||
"hashes": [
|
||||
"sha256:36fdccc5e0637b5baa8892fe2c3d927782df7d504e9020f40eb2c1502518aa5a",
|
||||
"sha256:8e52bf8079a48e2a53f3dfeec9e04addb900c101d1591c85df69cf677d3237e7"
|
||||
],
|
||||
"version": "==0.14.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ Pipenv: Python Development Workflow for Humans
|
||||
[](https://python.org/pypi/pipenv)
|
||||
[](https://python.org/pypi/pipenv)
|
||||
[](https://code.kennethreitz.org/source/pipenv/)
|
||||
[?branchName=master&label=Windows)](https://pypa.visualstudio.com/pipenv/_build/latest?definitionId=9&branchName=master)
|
||||
[?branchName=master&label=Linux)](https://pypa.visualstudio.com/pipenv/_build/latest?definitionId=10&branchName=master)
|
||||
[?branchName=master&label=Windows)](https://dev.azure.com/pypa/pipenv/_build/latest?definitionId=9&branchName=master)
|
||||
[?branchName=master&label=Linux)](https://dev.azure.com/pypa/pipenv/_build/latest?definitionId=10&branchName=master)
|
||||
[](https://python.org/pypi/pipenv)
|
||||
[](https://saythanks.io/to/kennethreitz)
|
||||
|
||||
@@ -35,6 +35,10 @@ The problems that Pipenv seeks to solve are multi-faceted:
|
||||
- Give you insight into your dependency graph (e.g. `$ pipenv graph`).
|
||||
- Streamline development workflow by loading `.env` files.
|
||||
|
||||
You can quickly play with Pipenv right in your browser:
|
||||
|
||||
[](https://rootnroll.com/d/pipenv/)
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
|
||||
+1
-1
@@ -119,7 +119,7 @@ Or you can install packages exactly as specified in ``Pipfile.lock`` using the `
|
||||
|
||||
.. note::
|
||||
|
||||
``pipenv install --ignore-pipfile`` is nearly equivalent to ``pipenv sync``, but you ``pipenv sync`` will *never* attempt to re-lock your dependencies as it is considered an atomic operation. ``pipenv install`` by default does attempt to re-lock unless using the ``--deploy`` flag.
|
||||
``pipenv install --ignore-pipfile`` is nearly equivalent to ``pipenv sync``, but ``pipenv sync`` will *never* attempt to re-lock your dependencies as it is considered an atomic operation. ``pipenv install`` by default does attempt to re-lock unless using the ``--deploy`` flag.
|
||||
|
||||
Deploying System Dependencies
|
||||
/////////////////////////////
|
||||
|
||||
+30
-5
@@ -135,7 +135,6 @@ Example Pipfile.lock
|
||||
|
||||
Clone / create project repository::
|
||||
|
||||
…
|
||||
$ cd myproject
|
||||
|
||||
Install from Pipfile, if there is one::
|
||||
@@ -152,7 +151,8 @@ Next, activate the Pipenv shell::
|
||||
|
||||
$ pipenv shell
|
||||
$ python --version
|
||||
…
|
||||
|
||||
This will spawn a new shell subprocess, which can be deactivated by using ``exit``.
|
||||
|
||||
.. _initialization:
|
||||
|
||||
@@ -182,13 +182,38 @@ in your ``Pipfile.lock`` for now, run ``pipenv lock --keep-outdated``. Make sur
|
||||
☤ Specifying Versions of a Package
|
||||
----------------------------------
|
||||
|
||||
To tell pipenv to install a specific version of a library, the usage is simple::
|
||||
You can specify versions of a package using the `Semantic Versioning scheme <https://semver.org/>`_
|
||||
(i.e. ``major.minor.micro``).
|
||||
|
||||
$ pipenv install requests==2.13.0
|
||||
For example, to install requests you can use: ::
|
||||
|
||||
$ pipenv install requests~=1.2 # equivalent to requests~=1.2.0
|
||||
|
||||
Pipenv will install version ``1.2`` and any minor update, but not ``2.0``.
|
||||
|
||||
This will update your ``Pipfile`` to reflect this requirement, automatically.
|
||||
|
||||
For other version specifiers, see `the relevant section of PEP-440`_.
|
||||
In general, Pipenv uses the same specifier format as pip. However, note that according to `PEP 440`_ , you can't use versions containing a hyphen or a plus sign.
|
||||
|
||||
.. _`PEP 440`: <https://www.python.org/dev/peps/pep-0440/>
|
||||
|
||||
To make inclusive or exclusive version comparisons you can use: ::
|
||||
|
||||
$ pipenv install "requests>=1.4" # will install a version equal or larger than 1.4.0
|
||||
$ pipenv install "requests<=2.13" # will install a version equal or lower than 2.13.0
|
||||
$ pipenv install "requests>2.19" # will install 2.19.1 but not 2.19.0
|
||||
|
||||
.. note:: The use of ``" "`` around the package and version specification is highly recommended
|
||||
to avoid issues with `Input and output redirection <https://robots.thoughtbot.com/input-output-redirection-in-the-shell>`_
|
||||
in Unix-based operating systems.
|
||||
|
||||
The use of ``~=`` is preferred over the ``==`` identifier as the former prevents pipenv from updating the packages: ::
|
||||
|
||||
$ pipenv install "requests~=2.2" # locks the major version of the package (this is equivalent to using ==2.*)
|
||||
|
||||
To avoid installing a specific version you can use the ``!=`` identifier.
|
||||
|
||||
For an in depth explanation of the valid identifiers and more complex use cases check `the relevant section of PEP-440`_.
|
||||
|
||||
.. _`the relevant section of PEP-440`: https://www.python.org/dev/peps/pep-0440/#version-specifiers>
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ Steps for Submitting Code
|
||||
When contributing code, you'll want to follow this checklist:
|
||||
|
||||
1. Fork the repository on GitHub.
|
||||
2. Run the tests to confirm they all pass on your system. If they don't, you'll
|
||||
2. `Run the tests`_ to confirm they all pass on your system. If they don't, you'll
|
||||
need to investigate why they fail. If you're unable to diagnose this
|
||||
yourself, raise it as a bug report by following the guidelines in this
|
||||
document: :ref:`bug-reports`.
|
||||
@@ -120,3 +120,38 @@ hasn't been reported before. Duplicate bug reports are a huge drain on the time
|
||||
of other contributors, and should be avoided as much as possible.
|
||||
|
||||
.. _GitHub issues: https://github.com/pypa/pipenv/issues
|
||||
|
||||
Run the tests
|
||||
-------------
|
||||
|
||||
Three ways of running the tests are as follows:
|
||||
|
||||
1. ``make test`` (which uses ``docker``)
|
||||
2. ``./run-tests.sh`` or ``run-tests.bat``
|
||||
3. Using pipenv::
|
||||
|
||||
pipenv install --dev
|
||||
pipenv run pytest
|
||||
|
||||
For the last two, it is important that your environment is setup correctly, and
|
||||
this may take some work, for example, on a specific Mac installation, the following
|
||||
steps may be needed::
|
||||
|
||||
# Make sure the tests can access github
|
||||
if [ "$SSH_AGENT_PID" = "" ]
|
||||
then
|
||||
eval `ssh-agent`
|
||||
ssh-add
|
||||
fi
|
||||
|
||||
# Use unix like utilities, installed with brew,
|
||||
# e.g. brew install coreutils
|
||||
for d in /usr/local/opt/*/libexec/gnubin /usr/local/opt/python/libexec/bin
|
||||
do
|
||||
[[ ":$PATH:" != *":$d:"* ]] && PATH="$d:${PATH}"
|
||||
done
|
||||
|
||||
export PATH
|
||||
|
||||
# PIP_FIND_LINKS currently breaks test_uninstall.py
|
||||
unset PIP_FIND_LINKS
|
||||
|
||||
+7
-1
@@ -39,6 +39,12 @@ The problems that Pipenv seeks to solve are multi-faceted:
|
||||
- Give you insight into your dependency graph (e.g. ``$ pipenv graph``).
|
||||
- Streamline development workflow by loading ``.env`` files.
|
||||
|
||||
You can quickly play with Pipenv right in your browser:
|
||||
|
||||
.. image:: https://cdn.rawgit.com/rootnroll/library/assets/try.svg
|
||||
:target: https://rootnroll.com/d/pipenv/
|
||||
:alt: Try in browser
|
||||
|
||||
|
||||
Install Pipenv Today!
|
||||
---------------------
|
||||
@@ -102,7 +108,7 @@ Other Commands
|
||||
//////////////
|
||||
|
||||
- ``graph`` will show you a dependency graph of your installed dependencies.
|
||||
- ``shell`` will spawn a shell with the virtualenv activated.
|
||||
- ``shell`` will spawn a shell with the virtualenv activated. This shell can be deactivated by using ``exit``.
|
||||
- ``run`` will run a given command from the virtualenv, with any arguments forwarded (e.g. ``$ pipenv run python`` or ``$ pipenv run pip freeze``).
|
||||
- ``check`` checks for security vulnerabilities and asserts that PEP 508 requirements are being met by the current environment.
|
||||
|
||||
|
||||
+10
-1
@@ -119,7 +119,7 @@ To install::
|
||||
`modifying ~/.profile`_.
|
||||
|
||||
On Windows you can find the user base binary directory by running
|
||||
``py -m site --user-site`` and replacing ``site-packages`` with
|
||||
``python -m site --user-site`` and replacing ``site-packages`` with
|
||||
``Scripts``. For example, this could return
|
||||
``C:\Users\Username\AppData\Roaming\Python36\site-packages`` so you would
|
||||
need to set your ``PATH`` to include
|
||||
@@ -222,6 +222,15 @@ your script. It's also possible to spawn a new shell that ensures all commands
|
||||
have access to your installed packages with ``$ pipenv shell``.
|
||||
|
||||
|
||||
☤ Virtualenv mapping caveat
|
||||
============
|
||||
|
||||
- Pipenv automatically maps projects to their specific virtualenvs.
|
||||
- The virtualenv is stored globally with the name of the project’s root directory plus the hash of the full path to the project's root (e.g., ``my_project-a3de50``).
|
||||
- If you change your project's path, you break such a default mapping and pipenv will no longer be able to find and to use the project's virtualenv.
|
||||
- You might want to set ``export PIPENV_VENV_IN_PROJECT=1`` in your .bashrc/.zshrc (or any shell configuration file) for creating the virtualenv inside your project's directory, avoiding problems with subsequent path changes.
|
||||
|
||||
|
||||
☤ Next steps
|
||||
============
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
VCS Refs for locked local editable dependencies will now update appropriately to the latest hash when running ``pipenv update``.
|
||||
@@ -0,0 +1 @@
|
||||
Improved exceptions and error handling on failures.
|
||||
@@ -1 +0,0 @@
|
||||
``.tar.gz`` and ``.zip`` artifacts will now have dependencies installed even when they are missing from the lockfile.
|
||||
@@ -1 +0,0 @@
|
||||
The command line parser will now handle multiple ``-e/--editable`` dependencies properly via click's option parser to help mitigate future parsing issues.
|
||||
@@ -0,0 +1 @@
|
||||
Added improved messaging about available but skipped updates due to dependency conflicts when running ``pipenv update --outdated``.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed the ability of pipenv to parse ``dependency_links`` from ``setup.py`` when ``PIP_PROCESS_DEPENDENCY_LINKS`` is enabled.
|
||||
@@ -1 +0,0 @@
|
||||
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.
|
||||
@@ -1,2 +0,0 @@
|
||||
Virtual environment activation for ``run`` is revised to improve interpolation
|
||||
with other Python discovery tools.
|
||||
@@ -1 +0,0 @@
|
||||
Improve terminal coloring to display better in Powershell.
|
||||
@@ -1 +0,0 @@
|
||||
Fix subshell invocation on Windows for Python 2.
|
||||
@@ -1 +0,0 @@
|
||||
Invoke ``virtualenv`` directly for virtual environment creation, instead of depending on ``pew``.
|
||||
@@ -1,2 +0,0 @@
|
||||
Pew is no longer vendored. Entry point ``pewtwo``, packages ``pipenv.pew`` and
|
||||
``pipenv.patched.pew`` are removed.
|
||||
@@ -1,2 +0,0 @@
|
||||
Added environment variables `PIPENV_VERBOSE` and `PIPENV_QUIET` to control
|
||||
output verbosity without needing to pass options.
|
||||
@@ -1 +0,0 @@
|
||||
``pipenv --help`` will now include short help descriptions.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed a bug which sometimes caused pipenv to throw a ``TypeError`` or to run into encoding issues when writing lockfiles on python 2.
|
||||
@@ -1,2 +0,0 @@
|
||||
Improve quoting logic for ``pipenv run`` so it works better with Windows
|
||||
built-in commands.
|
||||
@@ -1,2 +0,0 @@
|
||||
Fixed a bug related to parsing vcs requirements with both extras and subdirectory fragments.
|
||||
Corrected an issue in the ``requirementslib`` parser which led to some markers being discarded rather than evaluated.
|
||||
@@ -1,2 +0,0 @@
|
||||
Simplified the test configuration process.
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
Updated test-pypi addon to better support json-api access (forward compatibility).
|
||||
Improved testing process for new contributors.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed multiple issues with finding the correct system python locations.
|
||||
@@ -1,4 +0,0 @@
|
||||
Greatly enhanced python discovery functionality:
|
||||
|
||||
- Added pep514 (windows launcher/finder) support for python discovery.
|
||||
- Introduced architecture discovery for python installations which support different architectures.
|
||||
@@ -1 +0,0 @@
|
||||
Update ``pythonfinder`` to major release ``1.0.0`` for integration.
|
||||
@@ -1,2 +0,0 @@
|
||||
Catch JSON decoding error to prevent exception when the lock file is of
|
||||
invalid format.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed a rare bug which could sometimes cause errors when installing packages with custom sources.
|
||||
@@ -1 +0,0 @@
|
||||
Update requirementslib to fix a bug which could raise an ``UnboundLocalError`` when parsing malformed VCS URIs.
|
||||
@@ -1 +0,0 @@
|
||||
Update requirementslib to fix a bug which could raise an ``UnboundLocalError`` when parsing malformed VCS URIs.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed an issue which prevented passing multiple ``--ignore`` parameters to ``pipenv check``.
|
||||
@@ -1,2 +0,0 @@
|
||||
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 to ``ssh://`` URIs improperly.
|
||||
@@ -1,14 +0,0 @@
|
||||
- Vendored new libraries ``vistir`` and ``pip-shims``, ``tomlkit``, ``modutil``, and ``plette``.
|
||||
|
||||
- Update vendored libraries:
|
||||
- ``scandir`` to ``1.9.0``
|
||||
- ``click-completion`` to ``0.4.1``
|
||||
- ``semver`` to ``2.8.1``
|
||||
- ``shellingham`` to ``1.2.4``
|
||||
- ``pytoml`` to ``0.1.18``
|
||||
- ``certifi`` to ``2018.8.24``
|
||||
- ``ptyprocess`` to ``0.6.0``
|
||||
- ``requirementslib`` to ``1.1.5``
|
||||
- ``pythonfinder`` to ``1.0.2``
|
||||
- ``pipdeptree`` to ``0.13.0``
|
||||
- ``python-dotenv`` to ``0.9.1``
|
||||
@@ -1 +0,0 @@
|
||||
Fixed a bug which caused paths to be formatted incorrectly when using ``pipenv shell`` in bash for windows.
|
||||
@@ -1 +0,0 @@
|
||||
Added support for ``pipenv shell`` on msys and cygwin/mingw/git bash for windwos.
|
||||
@@ -1 +0,0 @@
|
||||
Dependency links to private repositories defined via ``ssh://`` schemes will now install correctly and skip hashing as long as ``PIP_PROCESS_DEPENDENCY_LINKS=1``.
|
||||
@@ -1 +0,0 @@
|
||||
Enhanced resolution of editable and VCS dependencies.
|
||||
@@ -1 +0,0 @@
|
||||
Updated documentation to use working fortune cookie addon.
|
||||
@@ -1,2 +0,0 @@
|
||||
Add ``COMSPEC`` to fallback option (along with ``SHELL`` and ``PYENV_SHELL``)
|
||||
if shell detection fails, improving robustness on Windows.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed a bug which sometimes caused pipenv to parse the ``trusted_host`` argument to pip incorrectly when parsing source URLs which specify ``verify_ssl = false``.
|
||||
@@ -1 +0,0 @@
|
||||
Added additional information about troubleshooting ``pipenv shell`` by using the the ``$PIPENV_SHELL`` environment variable.
|
||||
@@ -1 +0,0 @@
|
||||
Added a link to ``PEP-440`` version specifiers in the documentation for additional detail.
|
||||
@@ -1 +0,0 @@
|
||||
Prevent crashing when a virtual environment in ``WORKON_HOME`` is faulty.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed virtualenv creation failure when a .venv file is present in the project root.
|
||||
@@ -1 +0,0 @@
|
||||
Added simple example to README.md for installing from git.
|
||||
@@ -1 +0,0 @@
|
||||
Added additional information to error messaging during failed resolution.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed a bug which could cause the ``-e/--editable`` argument on a dependency to be accidentally parsed as a dependency itself.
|
||||
@@ -1 +0,0 @@
|
||||
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.
|
||||
@@ -1 +0,0 @@
|
||||
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.
|
||||
@@ -1 +0,0 @@
|
||||
All markers are now included in ``pipenv lock --requirements`` output.
|
||||
@@ -1 +0,0 @@
|
||||
Added a warning message if the ``PIPENV_DOTENV_LOCATION`` environment variable is set but the specified file does not exist.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed a bug in marker resolution which could cause duplicate and non-deterministic markers.
|
||||
@@ -1 +0,0 @@
|
||||
Stopped recommending `--system` for Docker contexts.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed a bug in the dependency resolver which caused regular issues when handling ``setup.py`` based dependency resolution.
|
||||
@@ -1,3 +0,0 @@
|
||||
Fixed the example url for doing "pipenv install -e
|
||||
some-repo-url#egg=something", it was missing the "egg=" in the fragment
|
||||
identifier.
|
||||
@@ -1 +0,0 @@
|
||||
Fixed link to the "be cordial" essay in the contribution documentation.
|
||||
@@ -1 +0,0 @@
|
||||
Fix 2 ResourceWarning: unclosed file, in tests.
|
||||
@@ -1 +0,0 @@
|
||||
Deduplicate and refactor CLI to use stateful arguments and object passing. See `this issue <https://github.com/pallets/click/issues/108>`_ for reference.
|
||||
@@ -0,0 +1 @@
|
||||
Added additional output to ``pipenv update --outdated`` to indicate that the operation succeded and all packages were already up to date.
|
||||
@@ -1 +0,0 @@
|
||||
Clarify `pipenv install` documentation
|
||||
@@ -0,0 +1 @@
|
||||
Fixed a bug which caused uninstallation to sometimes fail to successfullly remove packages from ``Pipfiles`` with comments on preceding or following lines.
|
||||
@@ -0,0 +1 @@
|
||||
Set `PIPENV_ACTIVE=1` when running `pipenv run`. This is what `pipenv shell` already does.
|
||||
@@ -0,0 +1 @@
|
||||
Updated ``crayons`` patch to enable colors on native powershell but swap native blue for magenta.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed unnecessary extras are added when translating markers
|
||||
@@ -0,0 +1 @@
|
||||
--bare now has an effect on clean, and sync's bare option is now used to reduce output.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed a virtualenv creation issue which could cause new virtualenvs to inadvertently attempt to read and write to global site packages.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed an issue with virtualenv path derivation which could cause errors, particularly for users on WSL bash.
|
||||
@@ -0,0 +1 @@
|
||||
- Fix PIPENV_VERBOSITY parsing logic
|
||||
@@ -0,0 +1 @@
|
||||
Expanded development and testing documentation for contributors to get started.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed a bug which caused ``Unexpected EOF`` errors to be thrown when PIP awaited input from users who put login credentials in their environment.
|
||||
@@ -0,0 +1 @@
|
||||
Added windows-compatible spinner via upgraded ``vistir`` dependency.
|
||||
@@ -0,0 +1,11 @@
|
||||
Updated vendored dependencies:
|
||||
- ``certifi 2018.08.24 => 2018.10.15``
|
||||
- ``urllib3 1.23 => 1.24``
|
||||
- ``requests 2.19.1 => 2.20.0``
|
||||
- ``shellingham ``1.2.6 => 1.2.7``
|
||||
- ``tomlkit 0.4.4. => 0.4.6``
|
||||
- ``vistir 0.1.6 => 0.1.8``
|
||||
- ``pythonfinder 0.1.2 => 0.1.3``
|
||||
- ``requirementslib 1.1.9 => 1.1.10``
|
||||
- ``backports.functools_lru_cache 1.5.0 (new)``
|
||||
- ``cursor 1.2.0 (new)``
|
||||
@@ -0,0 +1 @@
|
||||
Fixed a bug in ``requirementslib`` which prevented successful installation from mercurial repositories.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed random resource warnings when using pyenv or any other subprocess calls.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed a bug which caused uninstallation to sometimes fail to successfullly remove packages from ``Pipfiles`` with comments on preceding or following lines.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed an issue in ``delegator.py`` related to subprocess calls when using ``PopenSpawn`` to stream output, which sometimes threw unexpected ``EOF`` errors.
|
||||
@@ -0,0 +1 @@
|
||||
Fix the path casing issue that makes `pipenv clean` fail on Windows
|
||||
@@ -0,0 +1 @@
|
||||
Fixed issues with broken subprocess calls leaking resource handles and causing random and sporadic failures.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed an issue which caused ``pipenv clean`` to sometimes clean packages from the base ``site-packages`` folder or fail entirely.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed an issue in ``delegator.py`` related to subprocess calls when using ``PopenSpawn`` to stream output, which sometimes threw unexpected ``EOF`` errors.
|
||||
@@ -0,0 +1 @@
|
||||
Fixed an issue in ``delegator.py`` related to subprocess calls when using ``PopenSpawn`` to stream output, which sometimes threw unexpected ``EOF`` errors.
|
||||
@@ -0,0 +1 @@
|
||||
Updated ``pythonfinder`` to correct an issue with unnesting of nested paths when searching for python versions.
|
||||
@@ -0,0 +1 @@
|
||||
Updated ``pythonfinder`` to correct an issue with unnesting of nested paths when searching for python versions.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user