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

Include <PYENV> in [python-setup].interpreter_search_paths default #10998

Merged
merged 5 commits into from
Oct 21, 2020

Conversation

Eric-Arellano
Copy link
Contributor

Pyenv interpreters are often very likely to work (compared to some system Pythons), so it's sensible to include in the default.

If the user does not use Pyenv, the <PYENV> value will simply no-op. We keep <PATH> in the default so that it's more likely Pants works Out Of The Box for new users.

[ci skip-rust]
[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]
Comment on lines +95 to +98
"A list of paths to search for Python interpreters that match your project's "
"interpreter constraints. You can specify absolute paths to interpreter binaries "
"and/or to directories containing interpreter binaries. The order of entries does "
"not matter. The following special strings are supported:\n\n"
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 wanted to give some insight into how this value ends up getting used, that it's only for candidates and order doesn't matter.

'* "<PYENV>", all Python versions under $(pyenv root)/versions\n'
'* "<PYENV_LOCAL>", the Pyenv interpreter with the version in '
'BUILD_ROOT/.python-version\n'
'* "<PEXRC>", paths in the PEX_PYTHON_PATH variable in a pexrc file'
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is formatted to:

  --python-setup-interpreter-search-paths="[<binary-paths>, <binary-paths>, ...]"
  PANTS_PYTHON_SETUP_INTERPRETER_SEARCH_PATHS
  interpreter_search_paths
      default: [
          "<PYENV>",
          "<PATH>"
      ]
      current value: [
          "<PYENV>",
          "<PATH>"
      ]
      A list of paths to search for Python interpreters that match your project's interpreter
      constraints. You can specify absolute paths to interpreter binaries and/or to directories
      containing interpreter binaries. The order of entries does not matter. The following special
      strings are supported:

      * "<PATH>", the contents of the PATH env var
      * "<PYENV>", all Python versions under $(pyenv root)/versions
      * "<PYENV_LOCAL>", the Pyenv interpreter with the version in BUILD_ROOT/.python-version
      * "<PEXRC>", paths in the PEX_PYTHON_PATH variable in a pexrc file

[ci skip-rust]
[ci skip-build-wheels]
@coveralls
Copy link

coveralls commented Oct 20, 2020

Coverage Status

Coverage remained the same at 0.0% when pulling aaeeb36 on Eric-Arellano:pyenv into 56b2562 on pantsbuild:master.

Eric-Arellano and others added 3 commits October 20, 2020 19:18
Co-authored-by: Benjy Weinberger <[email protected]>
# 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]
@Eric-Arellano Eric-Arellano merged commit 9f6e7cb into pantsbuild:master Oct 21, 2020
@Eric-Arellano Eric-Arellano deleted the pyenv branch October 21, 2020 17:16
Eric-Arellano added a commit to Eric-Arellano/pants that referenced this pull request Oct 21, 2020
pantsbuild#10998)

Pyenv interpreters are often very likely to work (compared to some system Pythons), so it's sensible to include in the default.

If the user does not use Pyenv, the `<PYENV>` value will simply no-op. We keep `<PATH>` in the default so that it's more likely Pants works Out Of The Box for new users.
 
[ci skip-rust]
[ci skip-build-wheels]
Eric-Arellano added a commit that referenced this pull request Oct 21, 2020
…t (Cherry-pick of #10998) (#11008)

[ci skip-rust]
[ci skip-build-wheels]
@gshuflin gshuflin mentioned this pull request Oct 30, 2020
gshuflin added a commit that referenced this pull request Oct 31, 2020
Internal-only changes: 

* upgrade to cpython crate v0.5.1 (#11052)
  `PR #11052 <https://github.com/pantsbuild/pants/pull/11052>`_

* Prepare 2.0.0 (#11053)
  `PR #11053 <https://github.com/pantsbuild/pants/pull/11053>`_

* Revert "Add new EngineAware method metadata() (#11030)" (#11047)
  `PR #11030 <https://github.com/pantsbuild/pants/pull/11030>`_
  `PR #11047 <https://github.com/pantsbuild/pants/pull/11047>`_

* Remove deprecated `python_binary` target in favor of `pex_binary` (#11046)
  `PR #11046 <https://github.com/pantsbuild/pants/pull/11046>`_

* Prepare 2.0.0rc3 (#11044)
  `PR #11044 <https://github.com/pantsbuild/pants/pull/11044>`_

* Eagerly validate entry points for `setup_py().with_binaries()` (#11034)
  `PR #11034 <https://github.com/pantsbuild/pants/pull/11034>`_
  `PR #11021 <https://github.com/pantsbuild/pants/pull/11021>`_

* Use Ubuntu Bionic for CI (#11027)
  `PR #11027 <https://github.com/pantsbuild/pants/pull/11027>`_

* Prepare 2.0.0rc2 (#11017)
  `PR #11017 <https://github.com/pantsbuild/pants/pull/11017>`_

* Remove RunTrackerLogger (#11018)
  `PR #11018 <https://github.com/pantsbuild/pants/pull/11018>`_

* Upgrade Pex to 2.1.20 (#11014)
  `PR #11014 <https://github.com/pantsbuild/pants/pull/11014>`_

* Remove more unused code from RunTracker (#11012)
  `PR #11012 <https://github.com/pantsbuild/pants/pull/11012>`_

* Add type annotations to AggregatedTimings (#11009)
  `PR #11009 <https://github.com/pantsbuild/pants/pull/11009>`_

* Increase default `[python-setup].resolver_jobs` to `cpu_count / 2` (#11006)
  `PR #11006 <https://github.com/pantsbuild/pants/pull/11006>`_

* Include `<PYENV>` in `[python-setup].interpreter_search_paths` default (#10998)
  `PR #10998 <https://github.com/pantsbuild/pants/pull/10998>`_

* Remove PantsDaemonStats class wrapper (#11003)
  `PR #11003 <https://github.com/pantsbuild/pants/pull/11003>`_
  `PR #files#r508861045 <https://github.com/pantsbuild/pants/pull/11000/files#r508861045>`_

* Revert using libCST for dep inference due to performance (#10907) (#11001)
  `PR #10907 <https://github.com/pantsbuild/pants/pull/10907>`_
  `PR #11001 <https://github.com/pantsbuild/pants/pull/11001>`_


* Run tracker refactor (#11000)
  `PR #11000 <https://github.com/pantsbuild/pants/pull/11000>`_

* refactor Core::new including command runner setup (#10993)
  `PR #10993 <https://github.com/pantsbuild/pants/pull/10993>`_
  `PR #10960 <https://github.com/pantsbuild/pants/pull/10960>`_

* Allow changing the versioning scheme for `python_distribution` first-party dependencies (#10977)
  `PR #10977 <https://github.com/pantsbuild/pants/pull/10977>`_

* Remove tokio Handle type from Executor::new (#10980)
  `PR #10980 <https://github.com/pantsbuild/pants/pull/10980>`_

* Remove deprecated `Address.parse()` and `Address.reference()` (#10981)
  `PR #10981 <https://github.com/pantsbuild/pants/pull/10981>`_

* Remove project_ methods from the externs module (#10955)
  `PR #10955 <https://github.com/pantsbuild/pants/pull/10955>`_

* Prepare 2.0.0rc1 (#10972)
  `PR #10972 <https://github.com/pantsbuild/pants/pull/10972>`_

* Fix interpreter selection when building a PEX to use `[python-setup].interpreter_search_paths` (#10965)
  `PR #10965 <https://github.com/pantsbuild/pants/pull/10965>`_

* Delete `JsonReporter` (#10964)
  `PR #10964 <https://github.com/pantsbuild/pants/pull/10964>`_

* Fix log (#10959)
  `PR #10959 <https://github.com/pantsbuild/pants/pull/10959>`_

* Expose getattr method for Python-related APIs (#10953)
  `PR #10953 <https://github.com/pantsbuild/pants/pull/10953>`_

* Upgrade tokio package to 0.2.22 (#10949)
  `PR #10949 <https://github.com/pantsbuild/pants/pull/10949>`_

* Use `package` to build Pants's wheels, rather than `setup-py` (#10947)
  `PR #10947 <https://github.com/pantsbuild/pants/pull/10947>`_

* Simplify val_to_str and have it and val_to_log_level use PyObject (#10946)
  `PR #10946 <https://github.com/pantsbuild/pants/pull/10946>`_
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.

4 participants