From 7a696ceb5ceafc9e4e338ce56798ac6aa43a1c01 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Fri, 21 Sep 2018 03:10:10 -0400 Subject: [PATCH 001/163] hope i don't regret this :) --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b5f681b1..09b67a7b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ -FROM ubuntu:18.04 +FROM heroku/heroku:18-build # -- Install Pipenv: -RUN apt update && apt install python3-pip git -y && pip3 install pipenv +RUN apt update && apt install python3-pip -y && pip3 install pipenv ENV LC_ALL C.UTF-8 ENV LANG C.UTF-8 From 81b7cf7dfe77367f2baf30724eb6b2bdacaa922f Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Tue, 25 Sep 2018 03:38:00 -0400 Subject: [PATCH 002/163] precursor to something greater (team: make this work :) --- pipenv/core.py | 113 ++++++++++++++++++++++++++----------------------- 1 file changed, 60 insertions(+), 53 deletions(-) diff --git a/pipenv/core.py b/pipenv/core.py index 52c127b1..1bfb2e1c 100644 --- a/pipenv/core.py +++ b/pipenv/core.py @@ -66,6 +66,10 @@ BAD_PACKAGES = ( "setuptools", "wheel", ) + +FIRST_PACKAGES = ( + "cython", +) # Are we using the default Python? USING_DEFAULT_PYTHON = True if not PIPENV_HIDE_EMOJIS: @@ -341,9 +345,9 @@ def find_a_system_python(line): if os.path.isabs(line): return line from .vendor.pythonfinder import Finder + finder = Finder(system=False, global_search=True) - if ((line.startswith("py ") or line.startswith("py.exe ")) - and os.name == 'nt'): + if (line.startswith("py ") or line.startswith("py.exe ")) and os.name == "nt": line = line.split(" ", 1)[1].lstrip("-") elif line.startswith("py"): python_entry = finder.which(line) @@ -400,6 +404,7 @@ def ensure_python(three=None, python=None): ) # Pyenv is installed from .vendor.pythonfinder.environment import PYENV_INSTALLED + if not PYENV_INSTALLED: abort() else: @@ -572,9 +577,7 @@ def ensure_project( ) click.echo( " {0} and rebuilding the virtual environment " - "may resolve the issue.".format( - crayons.green("$ pipenv --rm"), - ), + "may resolve the issue.".format(crayons.green("$ pipenv --rm")), err=True, ) if not deploy: @@ -719,11 +722,17 @@ def do_install_dependencies( # Output only default dependencies click.echo(index_args) if not dev: - click.echo("\n".join(d.partition('--hash')[0].strip() for d in sorted(deps_list))) + click.echo( + "\n".join(d.partition("--hash")[0].strip() for d in sorted(deps_list)) + ) sys.exit(0) # Output only dev dependencies if dev: - click.echo("\n".join(d.partition('--hash')[0].strip() for d in sorted(dev_deps_list))) + click.echo( + "\n".join( + d.partition("--hash")[0].strip() for d in sorted(dev_deps_list) + ) + ) sys.exit(0) procs = [] deps_list_bar = progress.bar( @@ -733,20 +742,20 @@ def do_install_dependencies( if len(procs) < PIPENV_MAX_SUBPROCESS: # Use a specific index, if specified. index = None - if ' --index' in dep: - dep, _, index = dep.partition(' --index') - index = index.lstrip('=') - elif ' -i ' in dep: - dep, _, index = dep.partition(' -i ') + if " --index" in dep: + dep, _, index = dep.partition(" --index") + index = index.lstrip("=") + elif " -i " in dep: + dep, _, index = dep.partition(" -i ") extra_indexes = [] - if '--extra-index-url' in dep: - split_dep = dep.split('--extra-index-url') + if "--extra-index-url" in dep: + split_dep = dep.split("--extra-index-url") dep, extra_indexes = split_dep[0], split_dep[1:] dep = Requirement.from_line(dep) if index: _index = None try: - _index = project.find_source(index).get('name') + _index = project.find_source(index).get("name") except SourceNotFound: _index = None dep.index = _index @@ -754,7 +763,9 @@ def do_install_dependencies( dep.extra_indexes = extra_indexes # Install the module. prev_no_deps_setting = no_deps - if dep.is_file_or_url and any(dep.req.uri.endswith(ext) for ext in ['zip', 'tar.gz']): + if dep.is_file_or_url and any( + dep.req.uri.endswith(ext) for ext in ["zip", "tar.gz"] + ): no_deps = False c = pip_install( dep, @@ -786,7 +797,9 @@ def do_install_dependencies( # Use a specific index, if specified. # Install the module. prev_no_deps_setting = no_deps - if dep.is_file_or_url and any(dep.req.uri.endswith(ext) for ext in ['zip', 'tar.gz']): + if dep.is_file_or_url and any( + dep.req.uri.endswith(ext) for ext in ["zip", "tar.gz"] + ): no_deps = False c = pip_install( dep, @@ -876,16 +889,17 @@ def do_create_virtualenv(python=None, site_packages=False, pypi_mirror=None): # Actually create the virtualenv. with spinner(): - c = delegator.run( - cmd, block=False, timeout=PIPENV_TIMEOUT, env=pip_config, - ) + c = delegator.run(cmd, block=False, timeout=PIPENV_TIMEOUT, env=pip_config) c.block() click.echo(crayons.blue("{0}".format(c.out)), err=True) if c.return_code != 0: click.echo(crayons.blue("{0}".format(c.err)), err=True) - click.echo(u"{0}: Failed to create virtual environment.".format( - crayons.red("Warning", bold=True), - ), err=True) + click.echo( + u"{0}: Failed to create virtual environment.".format( + crayons.red("Warning", bold=True) + ), + err=True, + ) sys.exit(1) # Associate project directory with the environment. @@ -905,7 +919,7 @@ def parse_download_fname(fname, name): if fname.endswith(".tar"): fname, _ = os.path.splitext(fname) # Substring out package name (plus dash) from file name to get version. - version = fname[len(name) + 1:] + version = fname[len(name) + 1 :] # Ignore implicit post releases in version number. if "-" in version and version.split("-")[1].isdigit(): version = version.split("-")[0] @@ -1214,10 +1228,10 @@ def do_init( msg = u"Pipfile.lock ({1}) out of date, updating to ({0})…" else: msg = u"Pipfile.lock is corrupted, replaced with ({0})…" - click.echo(crayons.red( - msg.format(old_hash[-6:], new_hash[-6:]), - bold=True, - ), err=True) + click.echo( + crayons.red(msg.format(old_hash[-6:], new_hash[-6:]), bold=True), + err=True, + ) do_lock( system=system, pre=pre, @@ -1290,6 +1304,7 @@ def pip_install( pypi_mirror=None, ): from notpip._internal import logger as piplogger + src = [] if environments.is_verbose(): @@ -1297,7 +1312,7 @@ def pip_install( if requirement: click.echo( crayons.normal("Installing {0!r}".format(requirement.name), bold=True), - err=True + err=True, ) # Create files for hash mode. if requirement and not requirement.editable and (not ignore_hashes) and (r is None): @@ -1352,10 +1367,7 @@ def pip_install( with open(r) as f: if "--hash" not in f.read(): ignore_hashes = True - pip_command = [ - which_pip(allow_global=allow_global), - "install" - ] + pip_command = [which_pip(allow_global=allow_global), "install"] if pre: pip_command.append("--pre") if src: @@ -1380,12 +1392,10 @@ def pip_install( "PIP_WHEEL_DIR": fs_str(cache_dir.joinpath("wheels").as_posix()), "PIP_DESTINATION_DIR": fs_str(cache_dir.joinpath("pkgs").as_posix()), "PIP_EXISTS_ACTION": fs_str("w"), - "PATH": fs_str(os.environ.get("PATH")) + "PATH": fs_str(os.environ.get("PATH")), } if src: - pip_config.update({ - "PIP_SRC": fs_str(project.virtualenv_src_location) - }) + pip_config.update({"PIP_SRC": fs_str(project.virtualenv_src_location)}) pip_command = Script.parse(pip_command).cmdify() c = delegator.run(pip_command, block=block, env=pip_config) return c @@ -1547,8 +1557,9 @@ def format_pip_output(out, r=None): def warn_in_virtualenv(): # Only warn if pipenv isn't already active. pipenv_active = os.environ.get("PIPENV_ACTIVE") - if ((environments.PIPENV_USE_SYSTEM or environments.PIPENV_VIRTUALENV) and - not (pipenv_active or environments.is_quiet())): + if (environments.PIPENV_USE_SYSTEM or environments.PIPENV_VIRTUALENV) and not ( + pipenv_active or environments.is_quiet() + ): click.echo( "{0}: Pipenv found itself running within a virtual environment, " "so it will automatically use that environment, instead of " @@ -1784,13 +1795,15 @@ def do_install( ) if req: req = req[0] - req = req[len("-e "):] if req.startswith("-e ") else req + req = req[len("-e ") :] if req.startswith("-e ") else req if not editable_packages: editable_packages = [req] else: editable_packages.extend([req]) # Allow more than one package to be provided. - package_args = [p for p in packages] + ["-e {0}".format(pkg) for pkg in editable_packages] + package_args = [p for p in packages] + [ + "-e {0}".format(pkg) for pkg in editable_packages + ] # Support for --selective-upgrade. # We should do this part first to make sure that we actually do selectively upgrade # the items specified @@ -1832,6 +1845,7 @@ def do_install( # This is for if the user passed in dependencies, then we want to maek sure we else: from .vendor.requirementslib import Requirement + # make a tuple of (display_name, entry) pkg_list = packages + ["-e {0}".format(pkg) for pkg in editable_packages] @@ -1954,9 +1968,7 @@ def do_uninstall( # install things in order to remove them... maybe tell the user to install first? ensure_project(three=three, python=python, pypi_mirror=pypi_mirror) editable_pkgs = [ - Requirement.from_line("-e {0}".format(p)).name - for p in editable_packages - if p + Requirement.from_line("-e {0}".format(p)).name for p in editable_packages if p ] package_names = [p for p in packages if p] + editable_pkgs pipfile_remove = True @@ -2470,19 +2482,14 @@ def do_sync( click.echo(crayons.green("All dependencies are now up-to-date!")) -def do_clean( - ctx, - three=None, - python=None, - dry_run=False, - bare=False, - pypi_mirror=None, -): +def do_clean(ctx, three=None, python=None, dry_run=False, bare=False, pypi_mirror=None): # Ensure that virtualenv is available. ensure_project(three=three, python=python, validate=False, pypi_mirror=pypi_mirror) ensure_lockfile(pypi_mirror=pypi_mirror) - installed_package_names = [pkg.project_name for pkg in project.get_installed_packages()] + installed_package_names = [ + pkg.project_name for pkg in project.get_installed_packages() + ] # Remove known "bad packages" from the list. for bad_package in BAD_PACKAGES: if bad_package in installed_package_names: From 264fb6209edcb566032e244afb6231c8da496c2f Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Tue, 25 Sep 2018 04:08:41 -0400 Subject: [PATCH 003/163] have docker use python3.7 --- Dockerfile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 09b67a7b..794cfe11 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,15 @@ FROM heroku/heroku:18-build -# -- Install Pipenv: -RUN apt update && apt install python3-pip -y && pip3 install pipenv - +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 + +RUN pip3 install pipenv + # -- Install Application into container: RUN set -ex && mkdir /app From 53dc0882c32067461a80ce0b9fd275dbc290c5fd Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Tue, 25 Sep 2018 04:29:04 -0400 Subject: [PATCH 004/163] Update Dockerfile --- Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index 794cfe11..6acd754f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,9 @@ ENV LANG C.UTF-8 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: From 9084792db033ccbe79beead19e655a3561dd8503 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Tue, 25 Sep 2018 04:33:45 -0400 Subject: [PATCH 005/163] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6acd754f..c6b6fb7d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ 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 rm -fr /usr/bin/python3 && ln /usr/bin/python3.7 /usr/bin/python3 RUN pip3 install pipenv From 65ccd765b6d0b78e602d4b233ca8e31e1a6b8adb Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Fri, 21 Sep 2018 11:11:46 +1000 Subject: [PATCH 006/163] Create virtualenvs directory if it does not exist --- pipenv/utils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pipenv/utils.py b/pipenv/utils.py index b7295c29..0e1f851d 100644 --- a/pipenv/utils.py +++ b/pipenv/utils.py @@ -1281,7 +1281,10 @@ def get_workon_home(): workon_home = os.path.join( os.environ.get("XDG_DATA_HOME", "~/.local/share"), "virtualenvs" ) - return Path(os.path.expandvars(workon_home)).expanduser() + # Create directory if it does not already exist + expanded_path = Path(os.path.expandvars(workon_home)).expanduser() + mkdir_p(str(expanded_path)) + return expanded_path def is_virtual_environment(path): From 19c1f4a2d9f5bdf8623dec0008d0c005135858fe Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Fri, 21 Sep 2018 11:17:49 +1000 Subject: [PATCH 007/163] Add news entry for PR #2877 --- news/2877.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 news/2877.bugfix diff --git a/news/2877.bugfix b/news/2877.bugfix new file mode 100644 index 00000000..c5b23a31 --- /dev/null +++ b/news/2877.bugfix @@ -0,0 +1 @@ +Fixed a bug where `pipenv` crashes when the `WORKON_HOME` directory does not exist. From 39276c32df20df6b6b30a390a728a45261b3b926 Mon Sep 17 00:00:00 2001 From: ocavue Date: Sat, 29 Sep 2018 18:23:16 +0800 Subject: [PATCH 008/163] Remove a 404 link in issue templates --- .github/ISSUE_TEMPLATE/Bug_report.md | 4 ---- .github/ISSUE_TEMPLATE/Custom.md | 4 ---- .github/ISSUE_TEMPLATE/Feature_request.md | 4 ---- 3 files changed, 12 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md index 0a9b3421..c52b4d6c 100644 --- a/.github/ISSUE_TEMPLATE/Bug_report.md +++ b/.github/ISSUE_TEMPLATE/Bug_report.md @@ -5,10 +5,6 @@ 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. diff --git a/.github/ISSUE_TEMPLATE/Custom.md b/.github/ISSUE_TEMPLATE/Custom.md index 407e90cc..33839850 100644 --- a/.github/ISSUE_TEMPLATE/Custom.md +++ b/.github/ISSUE_TEMPLATE/Custom.md @@ -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. diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md index 4292912e..c817015d 100644 --- a/.github/ISSUE_TEMPLATE/Feature_request.md +++ b/.github/ISSUE_TEMPLATE/Feature_request.md @@ -5,10 +5,6 @@ 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. Make sure to mention your debugging experience if the documented solution failed. From 02be8757748945c41d10437600277d03f3fca3b1 Mon Sep 17 00:00:00 2001 From: David Staheli Date: Mon, 1 Oct 2018 16:36:40 -0400 Subject: [PATCH 009/163] Use new Azure Pipelines domain in build badges Azure Pipelines now uses https://dev.azure.com/pypa instead of https://pypa.visualstudio.com. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f6af5917..5f467cb7 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ Pipenv: Python Development Workflow for Humans [![image](https://img.shields.io/pypi/v/pipenv.svg)](https://python.org/pypi/pipenv) [![image](https://img.shields.io/pypi/l/pipenv.svg)](https://python.org/pypi/pipenv) [![image](https://badge.buildkite.com/79c7eccf056b17c3151f3c4d0e4c4b8b724539d84f1e037b9b.svg?branch=master)](https://code.kennethreitz.org/source/pipenv/) -[![VSTS build status (Windows)](https://pypa.visualstudio.com/pipenv/_apis/build/status/pipenv%20CI%20(Windows)?branchName=master&label=Windows)](https://pypa.visualstudio.com/pipenv/_build/latest?definitionId=9&branchName=master) -[![VSTS build status (Linux)](https://pypa.visualstudio.com/pipenv/_apis/build/status/pipenv%20CI%20(Linux)?branchName=master&label=Linux)](https://pypa.visualstudio.com/pipenv/_build/latest?definitionId=10&branchName=master) +[![VSTS build status (Windows)](https://dev.azure.com/pypa/pipenv/_apis/build/status/pipenv%20CI%20(Windows)?branchName=master&label=Windows)](https://dev.azure.com/pypa/pipenv/_build/latest?definitionId=9&branchName=master) +[![VSTS build status (Linux)](https://dev.azure.com/pypa/pipenv/_apis/build/status/pipenv%20CI%20(Linux)?branchName=master&label=Linux)](https://dev.azure.com/pypa/pipenv/_build/latest?definitionId=10&branchName=master) [![image](https://img.shields.io/pypi/pyversions/pipenv.svg)](https://python.org/pypi/pipenv) [![image](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/kennethreitz) From f8e3f2550fbf0d4a566a6de00db5cd35efb845a8 Mon Sep 17 00:00:00 2001 From: Andrew Zhou <30874884+0az@users.noreply.github.com> Date: Tue, 2 Oct 2018 12:52:47 -0700 Subject: [PATCH 010/163] Replace reference to Uservoice with PEEP-000. Fixes #2809. --- .github/ISSUE_TEMPLATE.md | 4 ++-- news/2909.doc | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 news/2909.doc diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index e1530fcc..8f64917e 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,8 +1,8 @@ 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. diff --git a/news/2909.doc b/news/2909.doc new file mode 100644 index 00000000..d8487544 --- /dev/null +++ b/news/2909.doc @@ -0,0 +1 @@ +Replace reference to uservoice with PEEP-000 From d0e537b5653be0e40a39e95b36c6143afdc3b236 Mon Sep 17 00:00:00 2001 From: Andrew Zhou <30874884+0az@users.noreply.github.com> Date: Tue, 2 Oct 2018 22:52:11 -0700 Subject: [PATCH 011/163] Add references to PEEP --- .github/ISSUE_TEMPLATE/Feature_request.md | 3 +-- .github/PULL_REQUEST_TEMPLATE.md | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md index c817015d..10b29c27 100644 --- a/.github/ISSUE_TEMPLATE/Feature_request.md +++ b/.github/ISSUE_TEMPLATE/Feature_request.md @@ -5,11 +5,10 @@ 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. -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. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 9eb5f393..5bc94388 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -7,6 +7,9 @@ What is the thing you want to fix? Is it associated with an issue on GitHub? Ple 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. + + https://github.com/pypa/pipenv/blob/master/peeps/PEEP-000.md ##### The fix From d65038ecc99945baa133467e6d80884268a82c34 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Sun, 23 Sep 2018 12:37:26 -0400 Subject: [PATCH 012/163] Update NOTICES --- NOTICES | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/NOTICES b/NOTICES index d8f11f79..e237e5b6 100644 --- a/NOTICES +++ b/NOTICES @@ -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. From 4cbd59631d8fb0c4eba16d712051d366d4dfdff1 Mon Sep 17 00:00:00 2001 From: jxltom Date: Thu, 4 Oct 2018 10:10:10 +0800 Subject: [PATCH 013/163] Load patched pip instead of system one --- pipenv/environments.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pipenv/environments.py b/pipenv/environments.py index b6633f39..182e5442 100644 --- a/pipenv/environments.py +++ b/pipenv/environments.py @@ -11,6 +11,8 @@ os.environ["PYTHONDONTWRITEBYTECODE"] = "1" # https://bugs.python.org/issue22490 os.environ.pop("__PYVENV_LAUNCHER__", None) +# Load patched pip instead of system pip +os.environ["PIP_SHIMS_BASE_MODULE"] = "pipenv.patched.notpip" PIPENV_CACHE_DIR = os.environ.get("PIPENV_CACHE_DIR", user_cache_dir("pipenv")) """Location for Pipenv to store it's package cache. From 532aca3ec33b974f54a7201645f7136dff387ab3 Mon Sep 17 00:00:00 2001 From: jxltom Date: Thu, 4 Oct 2018 10:20:44 +0800 Subject: [PATCH 014/163] Add news for #2912 --- news/2912.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 news/2912.bugfix diff --git a/news/2912.bugfix b/news/2912.bugfix new file mode 100644 index 00000000..cbf3288f --- /dev/null +++ b/news/2912.bugfix @@ -0,0 +1 @@ +Fixed pip is not loaded from pipenv's patched one but the system one From ead561de7220170d0f16ff1bbc67c39e0bddc7cd Mon Sep 17 00:00:00 2001 From: jxltom Date: Sat, 6 Oct 2018 10:09:23 +0800 Subject: [PATCH 015/163] Level up the template headers --- .github/ISSUE_TEMPLATE.md | 8 ++++---- .github/ISSUE_TEMPLATE/Bug_report.md | 8 ++++---- .github/ISSUE_TEMPLATE/Feature_request.md | 8 ++++---- .github/PULL_REQUEST_TEMPLATE.md | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 8f64917e..18e12434 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -9,19 +9,19 @@ Check the [diagnose documentation](https://docs.pipenv.org/diagnose/) for common 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). diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md index c52b4d6c..c470a867 100644 --- a/.github/ISSUE_TEMPLATE/Bug_report.md +++ b/.github/ISSUE_TEMPLATE/Bug_report.md @@ -10,19 +10,19 @@ Check the [diagnose documentation](https://docs.pipenv.org/diagnose/) for common 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). diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md index 10b29c27..8a30d5aa 100644 --- a/.github/ISSUE_TEMPLATE/Feature_request.md +++ b/.github/ISSUE_TEMPLATE/Feature_request.md @@ -9,19 +9,19 @@ Check the [diagnose documentation](https://docs.pipenv.org/diagnose/) for common 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. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 5bc94388..0e1c095b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,7 @@ 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. @@ -11,18 +11,18 @@ If your pull request makes a non-insignificant change to Pipenv, such as the use https://github.com/pypa/pipenv/blob/master/peeps/PEEP-000.md -##### The fix +### 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 #.