You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
2.0 KiB
51 lines
2.0 KiB
diff --git a/virtualenv.py b/virtualenv.py
|
|
index c7f71e6..3740014 100755
|
|
--- a/virtualenv.py
|
|
+++ b/virtualenv.py
|
|
@@ -475,7 +475,18 @@ def virtualenv_support_dirs():
|
|
|
|
# normal filesystem installation
|
|
if os.path.isdir(join(HERE, "virtualenv_support")):
|
|
- yield [join(HERE, "virtualenv_support")]
|
|
+ dirs = [join(HERE, "virtualenv_support")]
|
|
+ if os.path.isdir("/usr/share/python-wheels"):
|
|
+ dirs.insert(0, "/usr/share/python-wheels")
|
|
+ try:
|
|
+ import ensurepip
|
|
+ ensurepip_path = os.path.join(ensurepip.__path__[0], "_bundled")
|
|
+ except (ImportError, AttributeError, IndexError):
|
|
+ pass
|
|
+ else:
|
|
+ if os.path.isdir(ensurepip_path):
|
|
+ dirs.insert(0, ensurepip_path)
|
|
+ yield dirs
|
|
elif IS_ZIPAPP:
|
|
tmpdir = tempfile.mkdtemp()
|
|
try:
|
|
@@ -998,6 +998,8 @@ def find_wheels(projects, search_dirs):
|
|
)
|
|
if project == "pip" and sys.version_info[0:2] == (3, 4):
|
|
wheel = next(p for v, p in versions if v <= (19, 1, 1))
|
|
+ elif project == "setuptools" and sys.version_info[0:2] == (3, 4):
|
|
+ wheel = next(p for v, p in versions if v < (44,))
|
|
else:
|
|
wheel = versions[0][1]
|
|
wheels.append(wheel)
|
|
@@ -1091,9 +1093,13 @@ def _install_wheel_with_search_dir(download, project_names, py_executable, searc
|
|
)
|
|
).encode("utf8")
|
|
|
|
- if sys.version_info[0:2] == (3, 4) and "pip" in project_names:
|
|
- at = project_names.index("pip")
|
|
- project_names[at] = "pip<19.2"
|
|
+ if sys.version_info[0:2] == (3, 4):
|
|
+ if "pip" in project_names:
|
|
+ at = project_names.index("pip")
|
|
+ project_names[at] = "pip<19.2"
|
|
+ if "setuptools" in project_names:
|
|
+ at = project_names.index("setuptools")
|
|
+ project_names[at] = "setuptools<44"
|
|
|
|
cmd = [py_executable, "-"] + project_names
|
|
logger.start_progress("Installing {}...".format(", ".join(project_names)))
|