Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Control PATH and PEX_PYTHON_PATH seperately. #10489

Merged

Conversation

jsirois
Copy link
Contributor

@jsirois jsirois commented Jul 28, 2020

Previously we used PATH to steer interpreter selection for hermetic PEX
bootstrap and runtime. This led to fragile or impossible to solve
setups.

Switch to using PEX_PYTHON_PATH to both discover a bootstrap
interpreter and steer runtime interpreter selection. Introduce a
find_binary rule to facilitate this that uses ~portable bash for now.
Also introduce a PexRuntimeEnvironment to steer bootstrap interpreter
probing and allow specification of the PATH that should be exposed to
the PEX runtime environment.

Fixes #9760

[ci skip-rust]
[ci skip-build-wheels]

Previously we used PATH to steer interpreter selection for hermetic PEX
bootstrap and runtime. This led to fragile or impossible to solve
setups.

Switch to using PEX_PYTHON_PATH to both discover a bootstrap
interpreter and steer runtime interpreter selection. Introduce a
find_binary rule to facilitate this that uses ~portable bash for now.
Also introduce a PexRuntimeEnvironment to steer bootstrap interpreter
probing and allow specification of the PATH that should be exposed to
the PEX runtime environment.

Fixes pantsbuild#9760

# Rust tests and lints will be skipped. Delete if not intended.
[ci skip-rust]

# Building wheels and fs_util will be skipped. Delete if not intended.
[ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended.
[ci skip-rust]

# Building wheels and fs_util will be skipped. Delete if not intended.
[ci skip-build-wheels]
@jsirois
Copy link
Contributor Author

jsirois commented Jul 28, 2020

Hrm, remote PATH issues. I've unfortunately got to run. I'm hoping mauybe you can take this home @stuhood. I'll be checking in at gas stops on the big drive today. Sorry to not get this over the finish line.

@stuhood
Copy link
Member

stuhood commented Jul 28, 2020

Hrm, remote PATH issues. I've unfortunately got to run. I'm hoping mauybe you can take this home @stuhood. I'll be checking in at gas stops on the big drive today. Sorry to not get this over the finish line.

Not to worry! It sounds like @Eric-Arellano will be taking a look. Drive/be safe!

Copy link
Member

@stuhood stuhood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(partial review)

Copy link
Contributor Author

@jsirois jsirois left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stuhood I think you still don't get it. This specifically is designed to work with local or remote - see comment at relevant site just added.

src/python/pants/engine/process.py Show resolved Hide resolved
…_search_path/dont_stomp_PATH

# Conflicts:
#	src/python/pants/backend/awslambda/python/awslambda_python_rules.py
#	src/python/pants/backend/python/lint/bandit/rules.py
#	src/python/pants/backend/python/lint/black/rules.py
#	src/python/pants/backend/python/lint/docformatter/rules.py
#	src/python/pants/backend/python/lint/flake8/rules.py
#	src/python/pants/backend/python/lint/isort/rules.py
#	src/python/pants/backend/python/lint/pylint/rules.py
#	src/python/pants/backend/python/rules/coverage.py
#	src/python/pants/backend/python/rules/download_pex_bin.py
#	src/python/pants/backend/python/rules/hermetic_pex.py
#	src/python/pants/backend/python/rules/pex.py
#	src/python/pants/backend/python/rules/pytest_runner.py
#	src/python/pants/backend/python/rules/run_setup_py.py
#	src/python/pants/backend/python/typecheck/mypy/rules.py
#	src/python/pants/engine/process.py

[ci skip-rust]
[ci skip-build-wheels]
[ci skip-rust]
[ci skip-build-wheels]
[ci skip-rust]
[ci skip-build-wheels]
[ci skip-rust]
[ci skip-build-wheels]
…_search_path/dont_stomp_PATH

[ci skip-rust]
[ci skip-build-wheels]
[ci skip-rust]
[ci skip-build-wheels]
This will be useful in other contexts too.
def register_options(cls, register):
super().register_options(register)
register(
"--binary-search-path",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thoughts on an alternative name? Maybe simply --path? --binary-search-path makes me think this is meant to only be for finding the pex binary, which it's not about.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I started at path but PEX_PATH is a thing already and would probably confuse a different set of users. I have no good ideas outside of where I settled here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, true. I think --pex-path is pretty confusing. But, the counterpoint is that 95% of the time we expect this to be set in pants.toml, where it reads:

[pex]
path = []

I don't find this as confusing with PEX_PATH. Thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--executable-search-path?

Copy link
Member

@stuhood stuhood Jul 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expanding the help string might clarify the name as well: this is the PATH that a pex process will use, not just for itself, but also for anything it subprocesses, including pip, compilers, and etc.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the suggestions! I agree with both of you.

Copy link
Member

@stuhood stuhood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

)

def level(self) -> Optional[LogLevel]:
return LogLevel.INFO if self.bootstrap_python else LogLevel.WARN
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be at debug by default.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call.

def register_options(cls, register):
super().register_options(register)
register(
"--binary-search-path",
Copy link
Member

@stuhood stuhood Jul 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expanding the help string might clarify the name as well: this is the PATH that a pex process will use, not just for itself, but also for anything it subprocesses, including pip, compilers, and etc.

def iter_path_entries():
for entry in self.options.binary_search_path:
if entry == "<PATH>":
# TODO(#9760): This is not very robust. We want to be able to read an env var
Copy link
Member

@stuhood stuhood Jul 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be clear, rather than exposing an "env" intrinsic, I expect that the rest of #9760 (which I should probably break out) will deprecate the binary_search_path option, and move the PATH to being a global option that is only optionally overridden per Process. See the two comments at #9760 (comment) for more info.

default=["python", "python3", "python2"],
metavar="<bootstrap-python-names>",
help=(
"The names of python binaries to search for to bootstrap PEX files with. Earlier "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An important thing to highlight here (assuming that it is true?) is that this has no influence on which interpreter ends up being used to actually run your code. The rest can probably just stay in docstrings (especially since we render a WARN currently if the lookup fails).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good suggestion. Thanks.

[ci skip-rust]
[ci skip-build-wheels]
@Eric-Arellano Eric-Arellano merged commit 95b3cbf into pantsbuild:master Jul 30, 2020
if entry == "<PATH>":
path = os.environ.get("PATH")
if path:
for path_entry in os.pathsep.split(path):
for path_entry in path.split(os.pathsep):
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ouch. Thanks for figuring this out @Eric-Arellano.

@etiennedupont
Copy link

etiennedupont commented Aug 20, 2020

Hello @jsirois

I tried to use your work in 2.0.0.dev9 in order to fix a long standing issue I exposed in #9760 (comment)

I thought that I could finally fix it by specifying the following in my pant.toml:

[python-setup]
interpreter_constraints = ["CPython>=3.7.3"]
interpreter_search_paths = ["<PYENV>"]

[pex]
executable_search_paths =  ["<PATH>"]

Which in my understanding means "Fetch python in PYENV but still forward $PATH to pex subprocesses so that they can use some tools" which fix the issue I had before with interpreter_search_paths = ["<PYENV>"] alone that made subprocesses unable to find tools like which.

But I end up having the same issue as stated before that is a Permission denied error implying using a Python that's not under pyenv as I would expect with the above config. I think that in my case, this error occurs when a pex subprocess itself invokes python, and I guess that what's happening is that the "interpreter_search_paths" is not forwarded to the pex subprocesses and that might be the issue?

Thank you for your help!

@Eric-Arellano
Copy link
Contributor

Hi @etiennedupont, thanks for trying it out, although bummer that it's still not quite working.

What is the full stacktrace, including the Pants command? I'm curious if this is an issue with starting the Pex subprocess, vs. with your code that is being run by the subprocess.

I think that in my case, this error occurs when a pex subprocess itself invokes python, and I guess that what's happening is that the "interpreter_search_paths" is not forwarded to the pex subprocesses and that might be the issue?

This sounds very plausible. For example, with Pants's own integration tests, we have to set our Python interpreter paths both in [python-setup] interpreter_serach_paths and [pex] executable_search_paths because our integration tests require discovering Python interpreters in the subprocess.

@etiennedupont
Copy link

Thank you for your answer @Eric-Arellano !
I copied the stack trace bellow.

This sounds very plausible. For example, with Pants's own integration tests, we have to set our Python interpreter paths both in [python-setup] interpreter_serach_paths and [pex] executable_search_paths because our integration tests require discovering Python interpreters in the subprocess.

isn't there a way to supply a specific interpreter path to pex subprocesses?

 ./pants --print-exception-stacktrace binary packages-python-pants/operations/::

18:23:28.46 [INFO] Completed: Resolving 10 requirements: graphql-core==3.0.1, httpx==0.11.1, numpy==1.18.4, pandas==1.0.1, pymap3d==2.3.0, scipy==1.4.1, tabulate==0.8.7, termcolor==1.1.0, tqdm==4.43.0, trio==0.13.0
18:23:30.93 [INFO] Completed: Resolving 17 requirements: Pillow==7.1.2, boto3==1.13.6, cuid==0.2, detectron2@ https://github.com/Sterblue/detectron2/archive/c441b6d9c765d1445722113f957e701a02914638.zip, fvcore@ https://github.com/... (377 characters truncated)
18:23:30 [ERROR] 1 Exception encountered:

Engine traceback:
  in select
  in `binary` goal
  in pants.backend.python.rules.create_python_binary.create_python_binary
  in pants.backend.python.rules.pex.two_step_create_pex
  in pants.backend.python.rules.pex.create_pex
  in pants.engine.process.fallible_to_exec_result_or_raise
Traceback (most recent call last):
  File "/Users/etiennedupont/.cache/pants/setup/bootstrap-Darwin-x86_64/2.0.0.dev9_py37/lib/python3.7/site-packages/pants/engine/process.py", line 233, in fallible_to_exec_result_or_raise
    description.value,
pants.engine.process.ProcessExecutionFailure: Process 'Resolving 17 requirements: Pillow==7.1.2, boto3==1.13.6, cuid==0.2, detectron2@ https://github.com/Sterblue/detectron2/archive/c441b6d9c765d1445722113f957e701a02914638.zip, fvcore@ https://github.com/facebookresearch/fvcore/archive/8eed1b3cf7776ddf6406562accb8fffc1d124a6d.zip, graphql-core==3.0.1, httpx==0.11.1, numpy==1.18.4, opencv-python-headless==4.1.2.30, pycocotools@ https://github.com/Sterblue/cocoapi/archive/96f215e9df0129ae35e1fa1301b53ad111d8a1d3.zip, shapely==1.7.0, tabulate==0.8.7, termcolor==1.1.0, torch==1.5.0, torchvision==0.6.0, tqdm==4.43.0, trio==0.13.0' failed with exit code 1.
stdout:

stderr:
  ERROR: Command errored out with exit status 1:
   command: /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7 /Users/etiennedupont/.cache/pants/named_caches/pex_root/pip.pex/93588224cef361f7437ddb8f30d12161967d077e/.deps/pip/pip install --ignore-installed --no-user --prefix /private/tmp/pip-build-env-aexos0r8/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple/ -- 'setuptools>=40.8.0' wheel torch==1.5.0
       cwd: None
  Complete output (16 lines):
  Looking in indexes: https://pypi.org/simple/
  Collecting setuptools>=40.8.0
    Using cached setuptools-49.6.0-py3-none-any.whl (803 kB)
  Collecting wheel
    Using cached wheel-0.35.1-py2.py3-none-any.whl (33 kB)
  Collecting torch==1.5.0
    Using cached torch-1.5.0-cp37-none-macosx_10_9_x86_64.whl (80.5 MB)
  Collecting numpy
    Using cached numpy-1.19.1-cp37-cp37m-macosx_10_9_x86_64.whl (15.3 MB)
  Processing /Users/etiennedupont/Library/Caches/pip/wheels/56/b0/fe/4410d17b32f1f0c3cf54cdfb2bc04d7b4b8f4ae377e2229ba0/future-0.18.2-py3-none-any.whl
  Installing collected packages: setuptools, wheel, numpy, future, torch
  ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/3.7'
  Consider using the `--user` option or check the permissions.
  
  WARNING: You are using pip version 20.0.dev0; however, version 20.2.2 is available.
  You should consider upgrading via the 'pip install --upgrade pip' command.
  ----------------------------------------
ERROR: Command errored out with exit status 1: /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7 /Users/etiennedupont/.cache/pants/named_caches/pex_root/pip.pex/93588224cef361f7437ddb8f30d12161967d077e/.deps/pip/pip install --ignore-installed --no-user --prefix /private/tmp/pip-build-env-aexos0r8/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple/ -- 'setuptools>=40.8.0' wheel torch==1.5.0 Check the logs for full command output.
pid: 39986 -> /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7 /Users/etiennedupont/.cache/pants/named_caches/pex_root/pip.pex/93588224cef361f7437ddb8f30d12161967d077e --disable-pip-version-check --isolated --no-python-version-warning --exists-action a -q --cache-dir /Users/etiennedupont/.cache/pants/named_caches/pex_root download --dest /tmp/tmp805bwk0u/Applications.Xcode.app.Contents.Developer.Library.Frameworks.Python3.framework.Versions.3.7.bin.python3.7 --index-url https://pypi.org/simple/ --header Cache-Control:max-age=3600 --retries 5 --timeout 15 Pillow==7.1.2 boto3==1.13.6 cuid==0.2 detectron2@ https://github.com/Sterblue/detectron2/archive/c441b6d9c765d1445722113f957e701a02914638.zip fvcore@ https://github.com/facebookresearch/fvcore/archive/8eed1b3cf7776ddf6406562accb8fffc1d124a6d.zip graphql-core==3.0.1 httpx==0.11.1 numpy==1.18.4 opencv-python-headless==4.1.2.30 pycocotools@ https://github.com/Sterblue/cocoapi/archive/96f215e9df0129ae35e1fa1301b53ad111d8a1d3.zip shapely==1.7.0 tabulate==0.8.7 termcolor==1.1.0 torch==1.5.0 torchvision==0.6.0 tqdm==4.43.0 trio==0.13.0 raised Executing /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7 /Users/etiennedupont/.cache/pants/named_caches/pex_root/pip.pex/93588224cef361f7437ddb8f30d12161967d077e --disable-pip-version-check --isolated --no-python-version-warning --exists-action a -q --cache-dir /Users/etiennedupont/.cache/pants/named_caches/pex_root download --dest /tmp/tmp805bwk0u/Applications.Xcode.app.Contents.Developer.Library.Frameworks.Python3.framework.Versions.3.7.bin.python3.7 --index-url https://pypi.org/simple/ --header Cache-Control:max-age=3600 --retries 5 --timeout 15 Pillow==7.1.2 boto3==1.13.6 cuid==0.2 detectron2@ https://github.com/Sterblue/detectron2/archive/c441b6d9c765d1445722113f957e701a02914638.zip fvcore@ https://github.com/facebookresearch/fvcore/archive/8eed1b3cf7776ddf6406562accb8fffc1d124a6d.zip graphql-core==3.0.1 httpx==0.11.1 numpy==1.18.4 opencv-python-headless==4.1.2.30 pycocotools@ https://github.com/Sterblue/cocoapi/archive/96f215e9df0129ae35e1fa1301b53ad111d8a1d3.zip shapely==1.7.0 tabulate==0.8.7 termcolor==1.1.0 torch==1.5.0 torchvision==0.6.0 tqdm==4.43.0 trio==0.13.0 failed with 1

Traceback (most recent call last):
  File "/Users/etiennedupont/.cache/pants/setup/bootstrap-Darwin-x86_64/2.0.0.dev9_py37/lib/python3.7/site-packages/pants/bin/local_pants_runner.py", line 255, in run
    engine_result = self._run_v2()
  File "/Users/etiennedupont/.cache/pants/setup/bootstrap-Darwin-x86_64/2.0.0.dev9_py37/lib/python3.7/site-packages/pants/bin/local_pants_runner.py", line 166, in _run_v2
    return self._maybe_run_v2_body(goals, poll=False)
  File "/Users/etiennedupont/.cache/pants/setup/bootstrap-Darwin-x86_64/2.0.0.dev9_py37/lib/python3.7/site-packages/pants/bin/local_pants_runner.py", line 189, in _maybe_run_v2_body
    poll_delay=(0.1 if poll else None),
  File "/Users/etiennedupont/.cache/pants/setup/bootstrap-Darwin-x86_64/2.0.0.dev9_py37/lib/python3.7/site-packages/pants/init/engine_initializer.py", line 118, in run_goal_rules
    goal_product, params, poll=poll, poll_delay=poll_delay
  File "/Users/etiennedupont/.cache/pants/setup/bootstrap-Darwin-x86_64/2.0.0.dev9_py37/lib/python3.7/site-packages/pants/engine/internals/scheduler.py", line 552, in run_goal_rule
    self._raise_on_error([t for _, t in throws])
  File "/Users/etiennedupont/.cache/pants/setup/bootstrap-Darwin-x86_64/2.0.0.dev9_py37/lib/python3.7/site-packages/pants/engine/internals/scheduler.py", line 516, in _raise_on_error
    wrapped_exceptions=tuple(t.exc for t in throws),
pants.engine.internals.scheduler.ExecutionError: 1 Exception encountered:

Engine traceback:
  in select
  in `binary` goal
  in pants.backend.python.rules.create_python_binary.create_python_binary
  in pants.backend.python.rules.pex.two_step_create_pex
  in pants.backend.python.rules.pex.create_pex
  in pants.engine.process.fallible_to_exec_result_or_raise
Traceback (most recent call last):
  File "/Users/etiennedupont/.cache/pants/setup/bootstrap-Darwin-x86_64/2.0.0.dev9_py37/lib/python3.7/site-packages/pants/engine/process.py", line 233, in fallible_to_exec_result_or_raise
    description.value,
pants.engine.process.ProcessExecutionFailure: Process 'Resolving 17 requirements: Pillow==7.1.2, boto3==1.13.6, cuid==0.2, detectron2@ https://github.com/Sterblue/detectron2/archive/c441b6d9c765d1445722113f957e701a02914638.zip, fvcore@ https://github.com/facebookresearch/fvcore/archive/8eed1b3cf7776ddf6406562accb8fffc1d124a6d.zip, graphql-core==3.0.1, httpx==0.11.1, numpy==1.18.4, opencv-python-headless==4.1.2.30, pycocotools@ https://github.com/Sterblue/cocoapi/archive/96f215e9df0129ae35e1fa1301b53ad111d8a1d3.zip, shapely==1.7.0, tabulate==0.8.7, termcolor==1.1.0, torch==1.5.0, torchvision==0.6.0, tqdm==4.43.0, trio==0.13.0' failed with exit code 1.
stdout:

stderr:
  ERROR: Command errored out with exit status 1:
   command: /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7 /Users/etiennedupont/.cache/pants/named_caches/pex_root/pip.pex/93588224cef361f7437ddb8f30d12161967d077e/.deps/pip/pip install --ignore-installed --no-user --prefix /private/tmp/pip-build-env-aexos0r8/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple/ -- 'setuptools>=40.8.0' wheel torch==1.5.0
       cwd: None
  Complete output (16 lines):
  Looking in indexes: https://pypi.org/simple/
  Collecting setuptools>=40.8.0
    Using cached setuptools-49.6.0-py3-none-any.whl (803 kB)
  Collecting wheel
    Using cached wheel-0.35.1-py2.py3-none-any.whl (33 kB)
  Collecting torch==1.5.0
    Using cached torch-1.5.0-cp37-none-macosx_10_9_x86_64.whl (80.5 MB)
  Collecting numpy
    Using cached numpy-1.19.1-cp37-cp37m-macosx_10_9_x86_64.whl (15.3 MB)
  Processing /Users/etiennedupont/Library/Caches/pip/wheels/56/b0/fe/4410d17b32f1f0c3cf54cdfb2bc04d7b4b8f4ae377e2229ba0/future-0.18.2-py3-none-any.whl
  Installing collected packages: setuptools, wheel, numpy, future, torch
  ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/3.7'
  Consider using the `--user` option or check the permissions.
  
  WARNING: You are using pip version 20.0.dev0; however, version 20.2.2 is available.
  You should consider upgrading via the 'pip install --upgrade pip' command.
  ----------------------------------------
ERROR: Command errored out with exit status 1: /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7 /Users/etiennedupont/.cache/pants/named_caches/pex_root/pip.pex/93588224cef361f7437ddb8f30d12161967d077e/.deps/pip/pip install --ignore-installed --no-user --prefix /private/tmp/pip-build-env-aexos0r8/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple/ -- 'setuptools>=40.8.0' wheel torch==1.5.0 Check the logs for full command output.
pid: 39986 -> /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7 /Users/etiennedupont/.cache/pants/named_caches/pex_root/pip.pex/93588224cef361f7437ddb8f30d12161967d077e --disable-pip-version-check --isolated --no-python-version-warning --exists-action a -q --cache-dir /Users/etiennedupont/.cache/pants/named_caches/pex_root download --dest /tmp/tmp805bwk0u/Applications.Xcode.app.Contents.Developer.Library.Frameworks.Python3.framework.Versions.3.7.bin.python3.7 --index-url https://pypi.org/simple/ --header Cache-Control:max-age=3600 --retries 5 --timeout 15 Pillow==7.1.2 boto3==1.13.6 cuid==0.2 detectron2@ https://github.com/Sterblue/detectron2/archive/c441b6d9c765d1445722113f957e701a02914638.zip fvcore@ https://github.com/facebookresearch/fvcore/archive/8eed1b3cf7776ddf6406562accb8fffc1d124a6d.zip graphql-core==3.0.1 httpx==0.11.1 numpy==1.18.4 opencv-python-headless==4.1.2.30 pycocotools@ https://github.com/Sterblue/cocoapi/archive/96f215e9df0129ae35e1fa1301b53ad111d8a1d3.zip shapely==1.7.0 tabulate==0.8.7 termcolor==1.1.0 torch==1.5.0 torchvision==0.6.0 tqdm==4.43.0 trio==0.13.0 raised Executing /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/bin/python3.7 /Users/etiennedupont/.cache/pants/named_caches/pex_root/pip.pex/93588224cef361f7437ddb8f30d12161967d077e --disable-pip-version-check --isolated --no-python-version-warning --exists-action a -q --cache-dir /Users/etiennedupont/.cache/pants/named_caches/pex_root download --dest /tmp/tmp805bwk0u/Applications.Xcode.app.Contents.Developer.Library.Frameworks.Python3.framework.Versions.3.7.bin.python3.7 --index-url https://pypi.org/simple/ --header Cache-Control:max-age=3600 --retries 5 --timeout 15 Pillow==7.1.2 boto3==1.13.6 cuid==0.2 detectron2@ https://github.com/Sterblue/detectron2/archive/c441b6d9c765d1445722113f957e701a02914638.zip fvcore@ https://github.com/facebookresearch/fvcore/archive/8eed1b3cf7776ddf6406562accb8fffc1d124a6d.zip graphql-core==3.0.1 httpx==0.11.1 numpy==1.18.4 opencv-python-headless==4.1.2.30 pycocotools@ https://github.com/Sterblue/cocoapi/archive/96f215e9df0129ae35e1fa1301b53ad111d8a1d3.zip shapely==1.7.0 tabulate==0.8.7 termcolor==1.1.0 torch==1.5.0 torchvision==0.6.0 tqdm==4.43.0 trio==0.13.0 failed with 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Harden PATH setting in pex runs
5 participants