diff --git a/pipenv/__init__.py b/pipenv/__init__.py
index 4d137e7..1e5230b 100644
--- a/pipenv/__init__.py
+++ b/pipenv/__init__.py
@@ -18,7 +18,7 @@ sys.path.insert(0, PIPENV_VENDOR)
# Inject patched directory into system path.
sys.path.insert(0, PIPENV_PATCHED)
-from pipenv.vendor.urllib3.exceptions import DependencyWarning
+from urllib3.exceptions import DependencyWarning
from pipenv.vendor.vistir.compat import ResourceWarning, fs_str
warnings.filterwarnings("ignore", category=DependencyWarning)
warnings.filterwarnings("ignore", category=ResourceWarning)
diff --git a/pipenv/core.py b/pipenv/core.py
index b9abe27..cccdb0e 100644
--- a/pipenv/core.py
+++ b/pipenv/core.py
@@ -1070,7 +1070,7 @@ def do_lock(
# Support for --keep-outdatedā¦
if keep_outdated:
- from pipenv.vendor.packaging.utils import canonicalize_name
+ from packaging.utils import canonicalize_name
for section_name, section in (
("default", project.packages),
("develop", project.dev_packages),
@@ -1281,7 +1281,7 @@ def pip_install(
):
from pipenv.patched.notpip._internal import logger as piplogger
from .utils import Mapping
- from .vendor.urllib3.util import parse_url
+ from urllib3.util import parse_url
src = []
write_to_tmpfile = False
@@ -1640,7 +1640,7 @@ def do_py(system=False):
def do_outdated(pypi_mirror=None):
# TODO: Allow --skip-lock here?
from .vendor.requirementslib.models.requirements import Requirement
- from .vendor.packaging.utils import canonicalize_name
+ from packaging.utils import canonicalize_name
from collections import namedtuple
packages = {}
@@ -2009,7 +2009,7 @@ def do_uninstall(
):
from .environments import PIPENV_USE_SYSTEM
from .vendor.requirementslib.models.requirements import Requirement
- from .vendor.packaging.utils import canonicalize_name
+ from packaging.utils import canonicalize_name
# Automatically use an activated virtualenv.
if PIPENV_USE_SYSTEM:
diff --git a/pipenv/exceptions.py b/pipenv/exceptions.py
index 62e25d5..00da817 100644
--- a/pipenv/exceptions.py
+++ b/pipenv/exceptions.py
@@ -11,9 +11,9 @@ import six
from ._compat import fix_utf8
from .patched import crayons
from . import environments
-from .vendor.click.utils import echo as click_echo
-from .vendor.click._compat import get_text_stderr
-from .vendor.click.exceptions import (
+from click.utils import echo as click_echo
+from click._compat import get_text_stderr
+from click.exceptions import (
Abort,
BadOptionUsage,
BadParameter,
@@ -23,7 +23,7 @@ from .vendor.click.exceptions import (
MissingParameter,
UsageError,
)
-from .vendor.click.types import Path
+from click.types import Path
def handle_exception(exc_type, exception, traceback, hook=sys.excepthook):
diff --git a/pipenv/patched/piptools/_compat/pip_compat.py b/pipenv/patched/piptools/_compat/pip_compat.py
index c466ef0..e2782f2 100644
--- a/pipenv/patched/piptools/_compat/pip_compat.py
+++ b/pipenv/patched/piptools/_compat/pip_compat.py
@@ -24,7 +24,7 @@ __all__ = [
"user_cache_dir"
]
-from pipenv.vendor.appdirs import user_cache_dir
+from appdirs import user_cache_dir
from pip_shims.shims import (
InstallRequirement,
parse_requirements,
diff --git a/pipenv/resolver.py b/pipenv/resolver.py
index e87f324..cc42918 100644
--- a/pipenv/resolver.py
+++ b/pipenv/resolver.py
@@ -121,6 +121,6 @@ def main():
if __name__ == "__main__":
_patch_path()
- from pipenv.vendor import colorama
+ import colorama
colorama.init()
main()
diff --git a/pipenv/shells.py b/pipenv/shells.py
index 352c01f..78bced8 100644
--- a/pipenv/shells.py
+++ b/pipenv/shells.py
@@ -8,7 +8,7 @@ import sys
from .environments import PIPENV_SHELL_EXPLICIT, PIPENV_SHELL, PIPENV_EMULATOR
from .vendor.vistir.compat import get_terminal_size, Path
from .vendor.vistir.contextmanagers import temp_environ
-from .vendor import shellingham
+import shellingham
ShellDetectionFailure = shellingham.ShellDetectionFailure
@@ -97,7 +97,7 @@ class Shell(object):
_handover(self.cmd, self.args + list(args))
def fork_compat(self, venv, cwd, args):
- from .vendor import pexpect
+ import pexpect
# Grab current terminal dimensions to replace the hardcoded default
# dimensions of pexpect.
diff --git a/pipenv/utils.py b/pipenv/utils.py
index 2dd5615..ba94166 100644
--- a/pipenv/utils.py
+++ b/pipenv/utils.py
@@ -377,7 +377,7 @@ class Resolver(object):
def resolve(self):
from pipenv.vendor.pip_shims.shims import DistributionNotFound
- from pipenv.vendor.requests.exceptions import HTTPError
+ from requests.exceptions import HTTPError
from pipenv.patched.piptools.exceptions import NoCandidateFound
from pipenv.patched.piptools.cache import CorruptCacheError
from .exceptions import CacheError, ResolutionFailure
@@ -504,7 +504,7 @@ def create_spinner(text, nospin=None, spinner_name=None):
def resolve(cmd, sp):
from .vendor import delegator
from .cmdparse import Script
- from .vendor.pexpect.exceptions import EOF, TIMEOUT
+ from pexpect.exceptions import EOF, TIMEOUT
from .vendor.vistir.compat import to_native_string
EOF.__module__ = "pexpect.exceptions"
from ._compat import decode_output
@@ -696,7 +696,7 @@ def resolve_deps(
"""Given a list of dependencies, return a resolved list of dependencies,
using pip-tools -- and their hashes, using the warehouse API / pip.
"""
- from .vendor.requests.exceptions import ConnectionError
+ from requests.exceptions import ConnectionError
from .vendor.requirementslib.models.requirements import Requirement
index_lookup = {}
@@ -1076,7 +1076,7 @@ def get_url_name(url):
def get_canonical_names(packages):
"""Canonicalize a list of packages and return a set of canonical names"""
- from .vendor.packaging.utils import canonicalize_name
+ from packaging.utils import canonicalize_name
if not isinstance(packages, Sequence):
if not isinstance(packages, six.string_types):
@@ -1331,8 +1331,8 @@ def translate_markers(pipfile_entry):
"""
if not isinstance(pipfile_entry, Mapping):
raise TypeError("Entry is not a pipfile formatted mapping.")
- from .vendor.distlib.markers import DEFAULT_CONTEXT as marker_context
- from .vendor.packaging.markers import Marker
+ from distlib.markers import DEFAULT_CONTEXT as marker_context
+ from packaging.markers import Marker
from .vendor.vistir.misc import dedup
allowed_marker_keys = ["markers"] + [k for k in marker_context.keys()]
diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py
index 822617a..768ef55 100644
--- a/tests/integration/conftest.py
+++ b/tests/integration/conftest.py
@@ -1,6 +1,8 @@
import json
import os
+import requests
import sys
+import toml
import warnings
import pytest
@@ -9,10 +11,9 @@ from pipenv._compat import TemporaryDirectory, Path
from pipenv.exceptions import VirtualenvActivationException
from pipenv.utils import temp_environ
from pipenv.vendor import delegator
-from pipenv.vendor import requests
-from pipenv.vendor import toml
from pipenv.vendor import tomlkit
from pytest_pypi.app import prepare_packages as prepare_pypi_packages, prepare_fixtures
+from pytest_pypi.plugin import pypi, pypi_secure
from vistir.compat import ResourceWarning, fs_str
from vistir.path import mkdir_p