pex 2.60.1__py2.py3-none-any.whl → 2.61.0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pex might be problematic. Click here for more details.
- pex/bin/pex.py +12 -1
- pex/cache/dirs.py +4 -4
- pex/docs/html/_pagefind/fragment/{en_cb99877.pf_fragment → en_5c93d32.pf_fragment} +0 -0
- pex/docs/html/_pagefind/fragment/{en_c350870.pf_fragment → en_6262b88.pf_fragment} +0 -0
- pex/docs/html/_pagefind/fragment/{en_52292af.pf_fragment → en_7f63cbe.pf_fragment} +0 -0
- pex/docs/html/_pagefind/fragment/{en_df34874.pf_fragment → en_9ce19f0.pf_fragment} +0 -0
- pex/docs/html/_pagefind/fragment/{en_8d14bba.pf_fragment → en_cd3f4ce.pf_fragment} +0 -0
- pex/docs/html/_pagefind/fragment/en_d1987a6.pf_fragment +0 -0
- pex/docs/html/_pagefind/fragment/{en_6190e2d.pf_fragment → en_d7a44fe.pf_fragment} +0 -0
- pex/docs/html/_pagefind/fragment/{en_9ba8f7b.pf_fragment → en_f6e4117.pf_fragment} +0 -0
- pex/docs/html/_pagefind/index/en_3ad4a26.pf_index +0 -0
- pex/docs/html/_pagefind/pagefind-entry.json +1 -1
- pex/docs/html/_pagefind/pagefind.en_50edc69c3c.pf_meta +0 -0
- pex/docs/html/_static/documentation_options.js +1 -1
- pex/docs/html/api/vars.html +5 -5
- pex/docs/html/buildingpex.html +5 -5
- pex/docs/html/genindex.html +5 -5
- pex/docs/html/index.html +5 -5
- pex/docs/html/recipes.html +5 -5
- pex/docs/html/scie.html +5 -5
- pex/docs/html/search.html +5 -5
- pex/docs/html/whatispex.html +5 -5
- pex/environment.py +22 -18
- pex/installed_wheel.py +15 -1
- pex/interpreter_constraints.py +1 -1
- pex/pep_427.py +70 -37
- pex/pip/version.py +1 -1
- pex/resolve/venv_resolver.py +4 -2
- pex/scie/science.py +1 -1
- pex/sh_boot.py +8 -4
- pex/tools/commands/repository.py +2 -2
- pex/vendor/__main__.py +3 -2
- pex/vendor/_vendored/ansicolors/.layout.json +1 -1
- pex/vendor/_vendored/appdirs/.layout.json +1 -1
- pex/vendor/_vendored/attrs/.layout.json +1 -1
- pex/vendor/_vendored/packaging_20_9/.layout.json +1 -1
- pex/vendor/_vendored/packaging_21_3/.layout.json +1 -1
- pex/vendor/_vendored/packaging_24_0/.layout.json +1 -1
- pex/vendor/_vendored/packaging_25_0/.layout.json +1 -1
- pex/vendor/_vendored/pip/.layout.json +1 -1
- pex/vendor/_vendored/setuptools/.layout.json +1 -1
- pex/vendor/_vendored/toml/.layout.json +1 -1
- pex/vendor/_vendored/tomli/.layout.json +1 -1
- pex/version.py +1 -1
- pex/wheel.py +13 -4
- {pex-2.60.1.dist-info → pex-2.61.0.dist-info}/METADATA +6 -5
- {pex-2.60.1.dist-info → pex-2.61.0.dist-info}/RECORD +52 -52
- {pex-2.60.1.dist-info → pex-2.61.0.dist-info}/pylock/pylock.toml +1 -1
- pex/docs/html/_pagefind/fragment/en_cf3d25b.pf_fragment +0 -0
- pex/docs/html/_pagefind/index/en_853e43e.pf_index +0 -0
- pex/docs/html/_pagefind/pagefind.en_71c76562fd.pf_meta +0 -0
- {pex-2.60.1.dist-info → pex-2.61.0.dist-info}/WHEEL +0 -0
- {pex-2.60.1.dist-info → pex-2.61.0.dist-info}/entry_points.txt +0 -0
- {pex-2.60.1.dist-info → pex-2.61.0.dist-info}/licenses/LICENSE +0 -0
- {pex-2.60.1.dist-info → pex-2.61.0.dist-info}/top_level.txt +0 -0
pex/bin/pex.py
CHANGED
|
@@ -24,6 +24,7 @@ from pex.commands.command import (
|
|
|
24
24
|
register_global_arguments,
|
|
25
25
|
)
|
|
26
26
|
from pex.common import CopyMode, die, is_pyc_dir, is_pyc_file
|
|
27
|
+
from pex.compatibility import commonpath
|
|
27
28
|
from pex.dependency_configuration import DependencyConfiguration
|
|
28
29
|
from pex.dependency_manager import DependencyManager
|
|
29
30
|
from pex.dist_metadata import Requirement
|
|
@@ -801,6 +802,16 @@ class PositionalArgumentFromFileParser(object):
|
|
|
801
802
|
|
|
802
803
|
def configure_clp():
|
|
803
804
|
# type: () -> PositionalArgumentFromFileParser
|
|
805
|
+
|
|
806
|
+
prog = sys.argv[0]
|
|
807
|
+
if os.path.isabs(prog):
|
|
808
|
+
entries = os.environ.get("PATH", os.defpath).split(os.pathsep)
|
|
809
|
+
entries.append(os.getcwd())
|
|
810
|
+
for entry in entries:
|
|
811
|
+
if os.path.isabs(entry) and entry == commonpath((entry, prog)):
|
|
812
|
+
prog = os.path.relpath(prog, entry)
|
|
813
|
+
break
|
|
814
|
+
|
|
804
815
|
usage = (
|
|
805
816
|
"%(prog)s [-o OUTPUT.PEX] [options] [-- arg1 arg2 ...]\n\n"
|
|
806
817
|
"%(prog)s builds a PEX (Python Executable) file based on the given specifications: "
|
|
@@ -810,7 +821,7 @@ def configure_clp():
|
|
|
810
821
|
"with an @ symbol. These files must contain one argument per line."
|
|
811
822
|
)
|
|
812
823
|
|
|
813
|
-
parser = ArgumentParser(usage=usage, formatter_class=ArgumentDefaultsHelpFormatter)
|
|
824
|
+
parser = ArgumentParser(prog=prog, usage=usage, formatter_class=ArgumentDefaultsHelpFormatter)
|
|
814
825
|
parser.add_argument("-V", "--version", action="version", version=__version__)
|
|
815
826
|
|
|
816
827
|
configure_clp_pex_resolution(parser)
|
pex/cache/dirs.py
CHANGED
|
@@ -144,7 +144,7 @@ class CacheDir(Enum["CacheDir.Value"]):
|
|
|
144
144
|
|
|
145
145
|
INSTALLED_WHEELS = Value(
|
|
146
146
|
"installed_wheels",
|
|
147
|
-
version=
|
|
147
|
+
version=2,
|
|
148
148
|
name="Pre-installed Wheels",
|
|
149
149
|
description=(
|
|
150
150
|
"Pre-installed wheel chroots used to both build PEXes and serve as runtime `sys.path` "
|
|
@@ -178,7 +178,7 @@ class CacheDir(Enum["CacheDir.Value"]):
|
|
|
178
178
|
|
|
179
179
|
PIP = Value(
|
|
180
180
|
"pip",
|
|
181
|
-
version=
|
|
181
|
+
version=3,
|
|
182
182
|
name="Pip Versions",
|
|
183
183
|
description="Isolated Pip caches and Pip PEXes Pex uses to resolve distributions.",
|
|
184
184
|
dependencies=[INSTALLED_WHEELS],
|
|
@@ -236,7 +236,7 @@ class CacheDir(Enum["CacheDir.Value"]):
|
|
|
236
236
|
|
|
237
237
|
UNZIPPED_PEXES = Value(
|
|
238
238
|
"unzipped_pexes",
|
|
239
|
-
version=
|
|
239
|
+
version=3,
|
|
240
240
|
name="Unzipped PEXes",
|
|
241
241
|
description="The unzipped PEX files executed on this machine.",
|
|
242
242
|
dependencies=[BOOTSTRAPS, USER_CODE, INSTALLED_WHEELS],
|
|
@@ -244,7 +244,7 @@ class CacheDir(Enum["CacheDir.Value"]):
|
|
|
244
244
|
|
|
245
245
|
VENVS = Value(
|
|
246
246
|
"venvs",
|
|
247
|
-
version=
|
|
247
|
+
version=3,
|
|
248
248
|
name="Virtual Environments",
|
|
249
249
|
description="Virtual environments generated at runtime for `--venv` mode PEXes.",
|
|
250
250
|
dependencies=[INSTALLED_WHEELS],
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"1.3.0","languages":{"en":{"hash":"
|
|
1
|
+
{"version":"1.3.0","languages":{"en":{"hash":"en_50edc69c3c","wasm":"en","page_count":8}}}
|
|
Binary file
|
pex/docs/html/api/vars.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="prefetch" href="../_static/pex-logo-dark.png" as="image">
|
|
9
9
|
|
|
10
10
|
<link rel="shortcut icon" href="../_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
|
|
11
|
-
<title>PEX runtime environment variables - Pex Docs (v2.
|
|
11
|
+
<title>PEX runtime environment variables - Pex Docs (v2.61.0)</title>
|
|
12
12
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d111a655" />
|
|
13
13
|
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=580074bf" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
</label>
|
|
164
164
|
</div>
|
|
165
165
|
<div class="header-center">
|
|
166
|
-
<a href="../index.html"><div class="brand">Pex Docs (v2.
|
|
166
|
+
<a href="../index.html"><div class="brand">Pex Docs (v2.61.0)</div></a>
|
|
167
167
|
</div>
|
|
168
168
|
<div class="header-right">
|
|
169
169
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -643,12 +643,12 @@
|
|
|
643
643
|
</div>
|
|
644
644
|
<div class="right-details">
|
|
645
645
|
<div class="icons">
|
|
646
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
646
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.61.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
647
647
|
<path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
|
|
648
648
|
</path>
|
|
649
649
|
</svg>
|
|
650
650
|
</a>
|
|
651
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
651
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.61.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
652
652
|
<path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
|
|
653
653
|
</path>
|
|
654
654
|
</svg>
|
|
@@ -671,7 +671,7 @@
|
|
|
671
671
|
|
|
672
672
|
</aside>
|
|
673
673
|
</div>
|
|
674
|
-
</div><script src="../_static/documentation_options.js?v=
|
|
674
|
+
</div><script src="../_static/documentation_options.js?v=6a15f429"></script>
|
|
675
675
|
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
|
676
676
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
677
677
|
<script src="../_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/buildingpex.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
|
|
9
9
|
|
|
10
10
|
<link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
|
|
11
|
-
<title>Building .pex files - Pex Docs (v2.
|
|
11
|
+
<title>Building .pex files - Pex Docs (v2.61.0)</title>
|
|
12
12
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
|
|
13
13
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
</label>
|
|
164
164
|
</div>
|
|
165
165
|
<div class="header-center">
|
|
166
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
166
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.61.0)</div></a>
|
|
167
167
|
</div>
|
|
168
168
|
<div class="header-right">
|
|
169
169
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -681,12 +681,12 @@ scary like <code class="docutils literal notranslate"><span class="pre">sudo</sp
|
|
|
681
681
|
</div>
|
|
682
682
|
<div class="right-details">
|
|
683
683
|
<div class="icons">
|
|
684
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
684
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.61.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
685
685
|
<path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
|
|
686
686
|
</path>
|
|
687
687
|
</svg>
|
|
688
688
|
</a>
|
|
689
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
689
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.61.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
690
690
|
<path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
|
|
691
691
|
</path>
|
|
692
692
|
</svg>
|
|
@@ -709,7 +709,7 @@ scary like <code class="docutils literal notranslate"><span class="pre">sudo</sp
|
|
|
709
709
|
|
|
710
710
|
</aside>
|
|
711
711
|
</div>
|
|
712
|
-
</div><script src="_static/documentation_options.js?v=
|
|
712
|
+
</div><script src="_static/documentation_options.js?v=6a15f429"></script>
|
|
713
713
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
714
714
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
715
715
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/genindex.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<link rel="prefetch" href="_static/pex-logo-light.png" as="image">
|
|
7
7
|
<link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
|
|
8
8
|
|
|
9
|
-
<link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Index - Pex Docs (v2.
|
|
9
|
+
<link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Index - Pex Docs (v2.61.0)</title>
|
|
10
10
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
|
|
11
11
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
|
|
12
12
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
</label>
|
|
162
162
|
</div>
|
|
163
163
|
<div class="header-center">
|
|
164
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
164
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.61.0)</div></a>
|
|
165
165
|
</div>
|
|
166
166
|
<div class="header-right">
|
|
167
167
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -260,12 +260,12 @@
|
|
|
260
260
|
</div>
|
|
261
261
|
<div class="right-details">
|
|
262
262
|
<div class="icons">
|
|
263
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
263
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.61.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
264
264
|
<path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
|
|
265
265
|
</path>
|
|
266
266
|
</svg>
|
|
267
267
|
</a>
|
|
268
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
268
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.61.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
269
269
|
<path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
|
|
270
270
|
</path>
|
|
271
271
|
</svg>
|
|
@@ -288,7 +288,7 @@
|
|
|
288
288
|
|
|
289
289
|
</aside>
|
|
290
290
|
</div>
|
|
291
|
-
</div><script src="_static/documentation_options.js?v=
|
|
291
|
+
</div><script src="_static/documentation_options.js?v=6a15f429"></script>
|
|
292
292
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
293
293
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
294
294
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/index.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
|
|
9
9
|
|
|
10
10
|
<link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
|
|
11
|
-
<title>Pex Docs (v2.
|
|
11
|
+
<title>Pex Docs (v2.61.0)</title>
|
|
12
12
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
|
|
13
13
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
</label>
|
|
164
164
|
</div>
|
|
165
165
|
<div class="header-center">
|
|
166
|
-
<a href="#"><div class="brand">Pex Docs (v2.
|
|
166
|
+
<a href="#"><div class="brand">Pex Docs (v2.61.0)</div></a>
|
|
167
167
|
</div>
|
|
168
168
|
<div class="header-right">
|
|
169
169
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -341,12 +341,12 @@ To go straight to building pex files, see <a class="reference internal" href="bu
|
|
|
341
341
|
</div>
|
|
342
342
|
<div class="right-details">
|
|
343
343
|
<div class="icons">
|
|
344
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
344
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.61.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
345
345
|
<path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
|
|
346
346
|
</path>
|
|
347
347
|
</svg>
|
|
348
348
|
</a>
|
|
349
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
349
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.61.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
350
350
|
<path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
|
|
351
351
|
</path>
|
|
352
352
|
</svg>
|
|
@@ -389,7 +389,7 @@ To go straight to building pex files, see <a class="reference internal" href="bu
|
|
|
389
389
|
|
|
390
390
|
</aside>
|
|
391
391
|
</div>
|
|
392
|
-
</div><script src="_static/documentation_options.js?v=
|
|
392
|
+
</div><script src="_static/documentation_options.js?v=6a15f429"></script>
|
|
393
393
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
394
394
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
395
395
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/recipes.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
|
|
9
9
|
|
|
10
10
|
<link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
|
|
11
|
-
<title>PEX Recipes and Notes - Pex Docs (v2.
|
|
11
|
+
<title>PEX Recipes and Notes - Pex Docs (v2.61.0)</title>
|
|
12
12
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
|
|
13
13
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
</label>
|
|
164
164
|
</div>
|
|
165
165
|
<div class="header-center">
|
|
166
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
166
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.61.0)</div></a>
|
|
167
167
|
</div>
|
|
168
168
|
<div class="header-right">
|
|
169
169
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -430,12 +430,12 @@ $<span class="w"> </span><span class="nb">export</span><span class="w"> </span><
|
|
|
430
430
|
</div>
|
|
431
431
|
<div class="right-details">
|
|
432
432
|
<div class="icons">
|
|
433
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
433
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.61.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
434
434
|
<path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
|
|
435
435
|
</path>
|
|
436
436
|
</svg>
|
|
437
437
|
</a>
|
|
438
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
438
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.61.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
439
439
|
<path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
|
|
440
440
|
</path>
|
|
441
441
|
</svg>
|
|
@@ -482,7 +482,7 @@ $<span class="w"> </span><span class="nb">export</span><span class="w"> </span><
|
|
|
482
482
|
|
|
483
483
|
</aside>
|
|
484
484
|
</div>
|
|
485
|
-
</div><script src="_static/documentation_options.js?v=
|
|
485
|
+
</div><script src="_static/documentation_options.js?v=6a15f429"></script>
|
|
486
486
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
487
487
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
488
488
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/scie.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
|
|
9
9
|
|
|
10
10
|
<link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
|
|
11
|
-
<title>PEX with included Python interpreter - Pex Docs (v2.
|
|
11
|
+
<title>PEX with included Python interpreter - Pex Docs (v2.61.0)</title>
|
|
12
12
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
|
|
13
13
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
</label>
|
|
164
164
|
</div>
|
|
165
165
|
<div class="header-center">
|
|
166
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
166
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.61.0)</div></a>
|
|
167
167
|
</div>
|
|
168
168
|
<div class="header-right">
|
|
169
169
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -623,12 +623,12 @@ uuid
|
|
|
623
623
|
</div>
|
|
624
624
|
<div class="right-details">
|
|
625
625
|
<div class="icons">
|
|
626
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
626
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.61.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
627
627
|
<path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
|
|
628
628
|
</path>
|
|
629
629
|
</svg>
|
|
630
630
|
</a>
|
|
631
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
631
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.61.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
632
632
|
<path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
|
|
633
633
|
</path>
|
|
634
634
|
</svg>
|
|
@@ -672,7 +672,7 @@ uuid
|
|
|
672
672
|
|
|
673
673
|
</aside>
|
|
674
674
|
</div>
|
|
675
|
-
</div><script src="_static/documentation_options.js?v=
|
|
675
|
+
</div><script src="_static/documentation_options.js?v=6a15f429"></script>
|
|
676
676
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
677
677
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
678
678
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/search.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<link rel="prefetch" href="_static/pex-logo-light.png" as="image">
|
|
7
7
|
<link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
|
|
8
8
|
|
|
9
|
-
<link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Search - Pex Docs (v2.
|
|
9
|
+
<link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 --><title>Search - Pex Docs (v2.61.0)</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
|
|
10
10
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
|
|
11
11
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
12
12
|
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
</label>
|
|
177
177
|
</div>
|
|
178
178
|
<div class="header-center">
|
|
179
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
179
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.61.0)</div></a>
|
|
180
180
|
</div>
|
|
181
181
|
<div class="header-right">
|
|
182
182
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -273,12 +273,12 @@
|
|
|
273
273
|
</div>
|
|
274
274
|
<div class="right-details">
|
|
275
275
|
<div class="icons">
|
|
276
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
276
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.61.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
277
277
|
<path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
|
|
278
278
|
</path>
|
|
279
279
|
</svg>
|
|
280
280
|
</a>
|
|
281
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
281
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.61.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
282
282
|
<path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
|
|
283
283
|
</path>
|
|
284
284
|
</svg>
|
|
@@ -301,7 +301,7 @@
|
|
|
301
301
|
|
|
302
302
|
</aside>
|
|
303
303
|
</div>
|
|
304
|
-
</div><script src="_static/documentation_options.js?v=
|
|
304
|
+
</div><script src="_static/documentation_options.js?v=6a15f429"></script>
|
|
305
305
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
306
306
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
307
307
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/docs/html/whatispex.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="prefetch" href="_static/pex-logo-dark.png" as="image">
|
|
9
9
|
|
|
10
10
|
<link rel="shortcut icon" href="_static/pex-icon.png"><!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25 -->
|
|
11
|
-
<title>What are .pex files? - Pex Docs (v2.
|
|
11
|
+
<title>What are .pex files? - Pex Docs (v2.61.0)</title>
|
|
12
12
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" />
|
|
13
13
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" />
|
|
14
14
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" />
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
</label>
|
|
164
164
|
</div>
|
|
165
165
|
<div class="header-center">
|
|
166
|
-
<a href="index.html"><div class="brand">Pex Docs (v2.
|
|
166
|
+
<a href="index.html"><div class="brand">Pex Docs (v2.61.0)</div></a>
|
|
167
167
|
</div>
|
|
168
168
|
<div class="header-right">
|
|
169
169
|
<div class="theme-toggle-container theme-toggle-header">
|
|
@@ -322,12 +322,12 @@ build executable .pex files. This is described more thoroughly in
|
|
|
322
322
|
</div>
|
|
323
323
|
<div class="right-details">
|
|
324
324
|
<div class="icons">
|
|
325
|
-
<a class="muted-link " href="https://pypi.org/project/pex/2.
|
|
325
|
+
<a class="muted-link " href="https://pypi.org/project/pex/2.61.0/" aria-label="PyPI"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
326
326
|
<path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z">
|
|
327
327
|
</path>
|
|
328
328
|
</svg>
|
|
329
329
|
</a>
|
|
330
|
-
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.
|
|
330
|
+
<a class="muted-link " href="https://github.com/pex-tool/pex/releases/download/v2.61.0/pex" aria-label="Download"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg">
|
|
331
331
|
<path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z">
|
|
332
332
|
</path>
|
|
333
333
|
</svg>
|
|
@@ -371,7 +371,7 @@ build executable .pex files. This is described more thoroughly in
|
|
|
371
371
|
|
|
372
372
|
</aside>
|
|
373
373
|
</div>
|
|
374
|
-
</div><script src="_static/documentation_options.js?v=
|
|
374
|
+
</div><script src="_static/documentation_options.js?v=6a15f429"></script>
|
|
375
375
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
376
376
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
377
377
|
<script src="_static/scripts/furo.js?v=46bd48cc"></script>
|
pex/environment.py
CHANGED
|
@@ -15,6 +15,7 @@ from pex.dependency_configuration import DependencyConfiguration
|
|
|
15
15
|
from pex.dist_metadata import Distribution, Requirement, is_wheel
|
|
16
16
|
from pex.fingerprinted_distribution import FingerprintedDistribution
|
|
17
17
|
from pex.inherit_path import InheritPath
|
|
18
|
+
from pex.installed_wheel import InstalledWheel
|
|
18
19
|
from pex.interpreter import PythonInterpreter
|
|
19
20
|
from pex.layout import ensure_installed, identify_layout
|
|
20
21
|
from pex.orderedset import OrderedSet
|
|
@@ -820,22 +821,25 @@ class PEXEnvironment(object):
|
|
|
820
821
|
if dist.location in sys.path:
|
|
821
822
|
continue
|
|
822
823
|
with TRACER.timed("Activating %s" % dist, V=2):
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
824
|
+
for entry in InstalledWheel.load(dist.location).iter_sys_path_entries():
|
|
825
|
+
if self._pex_info.inherit_path == InheritPath.FALLBACK:
|
|
826
|
+
# Prepend location to sys.path.
|
|
827
|
+
#
|
|
828
|
+
# This ensures that bundled versions of libraries will be used before
|
|
829
|
+
# system-installed versions, in case something is installed in both, helping
|
|
830
|
+
# to favor hermeticity in the case of non-hermetic PEX files (i.e. those
|
|
831
|
+
# with inherit_path=True).
|
|
832
|
+
#
|
|
833
|
+
# If the path is not already in sys.path, site.addsitedir will append (not
|
|
834
|
+
# prepend) the path to sys.path. But if the path is already in sys.path,
|
|
835
|
+
# site.addsitedir will leave sys.path unmodified, but will do everything
|
|
836
|
+
# else it would do. This is not part of its advertised contract (which is
|
|
837
|
+
# very vague), but has been verified to be the case by inspecting its source
|
|
838
|
+
# for both cpython 2.7 and cpython 3.7.
|
|
839
|
+
sys.path.insert(0, entry)
|
|
840
|
+
else:
|
|
841
|
+
sys.path.append(entry)
|
|
842
|
+
|
|
843
|
+
with TRACER.timed("Adding sitedir", V=2):
|
|
844
|
+
site.addsitedir(entry)
|
|
841
845
|
return resolved
|
pex/installed_wheel.py
CHANGED
|
@@ -12,7 +12,7 @@ from pex.util import CacheHelper
|
|
|
12
12
|
from pex.wheel import WHEEL, Wheel, WheelMetadataLoadError
|
|
13
13
|
|
|
14
14
|
if TYPE_CHECKING:
|
|
15
|
-
from typing import Optional, Text
|
|
15
|
+
from typing import Iterator, Optional, Text, Tuple
|
|
16
16
|
|
|
17
17
|
import attr # vendor:skip
|
|
18
18
|
else:
|
|
@@ -38,6 +38,7 @@ class InstalledWheel(object):
|
|
|
38
38
|
stash_dir, # type: str
|
|
39
39
|
record_relpath, # type: Text
|
|
40
40
|
root_is_purelib, # type: bool
|
|
41
|
+
sys_path_entries, # type: Tuple[str, ...]
|
|
41
42
|
):
|
|
42
43
|
# type: (...) -> InstalledWheel
|
|
43
44
|
|
|
@@ -50,6 +51,7 @@ class InstalledWheel(object):
|
|
|
50
51
|
"record_relpath": record_relpath,
|
|
51
52
|
"fingerprint": fingerprint,
|
|
52
53
|
"root_is_purelib": root_is_purelib,
|
|
54
|
+
"sys_path_entries": sys_path_entries,
|
|
53
55
|
}
|
|
54
56
|
with open(cls.layout_file(prefix_dir), "w") as fp:
|
|
55
57
|
json.dump(layout, fp, sort_keys=True, separators=(",", ":"))
|
|
@@ -59,6 +61,7 @@ class InstalledWheel(object):
|
|
|
59
61
|
record_relpath=record_relpath,
|
|
60
62
|
fingerprint=fingerprint,
|
|
61
63
|
root_is_purelib=root_is_purelib,
|
|
64
|
+
sys_path_entries=sys_path_entries,
|
|
62
65
|
)
|
|
63
66
|
|
|
64
67
|
@classmethod
|
|
@@ -104,12 +107,17 @@ class InstalledWheel(object):
|
|
|
104
107
|
)
|
|
105
108
|
root_is_purelib = wheel.root_is_purelib
|
|
106
109
|
|
|
110
|
+
# N.B.: Older versions of Pex installed wheel chroots did not have this field since the
|
|
111
|
+
# `sys.path` entry was always just the prefix_dir for those.
|
|
112
|
+
sys_path_entries = layout.get("sys_path_entries", [""])
|
|
113
|
+
|
|
107
114
|
return cls(
|
|
108
115
|
prefix_dir=prefix_dir,
|
|
109
116
|
stash_dir=cast(str, stash_dir),
|
|
110
117
|
record_relpath=cast(str, record_relpath),
|
|
111
118
|
fingerprint=cast("Optional[str]", fingerprint),
|
|
112
119
|
root_is_purelib=root_is_purelib,
|
|
120
|
+
sys_path_entries=tuple(sys_path_entries),
|
|
113
121
|
)
|
|
114
122
|
|
|
115
123
|
prefix_dir = attr.ib() # type: str
|
|
@@ -117,6 +125,7 @@ class InstalledWheel(object):
|
|
|
117
125
|
record_relpath = attr.ib() # type: Text
|
|
118
126
|
fingerprint = attr.ib() # type: Optional[str]
|
|
119
127
|
root_is_purelib = attr.ib() # type: bool
|
|
128
|
+
sys_path_entries = attr.ib() # type: Tuple[str, ...]
|
|
120
129
|
|
|
121
130
|
def wheel_file_name(self):
|
|
122
131
|
# type: () -> str
|
|
@@ -125,3 +134,8 @@ class InstalledWheel(object):
|
|
|
125
134
|
def stashed_path(self, *components):
|
|
126
135
|
# type: (*str) -> str
|
|
127
136
|
return os.path.join(self.prefix_dir, self.stash_dir, *components)
|
|
137
|
+
|
|
138
|
+
def iter_sys_path_entries(self):
|
|
139
|
+
# type: () -> Iterator[str]
|
|
140
|
+
for sys_path_entry in self.sys_path_entries:
|
|
141
|
+
yield os.path.normpath(os.path.join(self.prefix_dir, sys_path_entry))
|
pex/interpreter_constraints.py
CHANGED
|
@@ -379,7 +379,7 @@ COMPATIBLE_PYTHON_VERSIONS = (
|
|
|
379
379
|
PythonVersion(Lifecycle.STABLE, 3, 10, 19),
|
|
380
380
|
PythonVersion(Lifecycle.STABLE, 3, 11, 14),
|
|
381
381
|
PythonVersion(Lifecycle.STABLE, 3, 12, 12),
|
|
382
|
-
PythonVersion(Lifecycle.STABLE, 3, 13,
|
|
382
|
+
PythonVersion(Lifecycle.STABLE, 3, 13, 9),
|
|
383
383
|
PythonVersion(Lifecycle.STABLE, 3, 14, 0),
|
|
384
384
|
PythonVersion(Lifecycle.DEV, 3, 15, 0),
|
|
385
385
|
)
|