Skip to main content
Version: 2.18 (deprecated)

export


pants export [args]

Export Pants data for use in other tools, such as IDEs.

Exporting tools requires creating a custom lockfile for them Follow the instructions for creating tool lockfiles :::

Backend: pants.core

Config section: [export]

Basic options

py_resolve_format

--export-py-resolve-format=<PythonResolveExportFormat>
PANTS_EXPORT_PY_RESOLVE_FORMAT
pants.toml
[export]
py_resolve_format = <PythonResolveExportFormat>
one of: mutable_virtualenv, symlinked_immutable_virtualenv
default: mutable_virtualenv

Export Python resolves using this format. Options are:

  • mutable_virtualenv: Export a standalone mutable virtualenv that you can further modify.
  • symlinked_immutable_virtualenv: Export a symlink into a cached Python virtualenv. This virtualenv will have no pip binary, and will be immutable. Any attempt to modify it will corrupt the cache! It may, however, take significantly less time to export than a standalone, mutable virtualenv.

resolve

--export-resolve="['<str>', '<str>', ...]"
PANTS_EXPORT_RESOLVE
pants.toml
[export]
resolve = [
'<str>',
'<str>',
...,
]
default: []

Export the specified resolve(s). The export format is backend-specific, e.g., Python resolves are exported as virtualenvs.

Advanced options

py_editable_in_resolve

--export-py-editable-in-resolve="['<str>', '<str>', ...]"
PANTS_EXPORT_PY_EDITABLE_IN_RESOLVE
pants.toml
[export]
py_editable_in_resolve = [
'<str>',
'<str>',
...,
]
default: []

When exporting a mutable virtualenv for a resolve, do PEP-660 editable installs of all 'python_distribution' targets that own code in the exported resolve.

If a resolve name is not in this list, 'python_distribution' targets will not be installed in the virtualenv. This defaults to an empty list for backwards compatibility and to prevent unnecessary work to generate and install the PEP-660 editable wheels.

This only applies when '[python].enable_resolves' is true and when exporting a 'mutable_virtualenv' ('symlinked_immutable_virtualenv' exports are not "full" virtualenvs because they must not be edited, and do not include 'pip').

NOTE: If you are using legacy exports (not using the '--resolve' option), then this option has no effect. Legacy exports will not include any editable installs.

Deprecated options

--[no-]export-symlink-python-virtualenv
PANTS_EXPORT_SYMLINK_PYTHON_VIRTUALENV
pants.toml
[export]
symlink_python_virtualenv = <bool>
default: False
Deprecated, will be removed in version: 2.20.0.dev0.
Set the `[export].py_resolve_format` option to 'symlinked_immutable_virtualenv'

Export a symlink into a cached Python virtualenv. This virtualenv will have no pip binary, and will be immutable. Any attempt to modify it will corrupt the cache! It may, however, take significantly less time to export than a standalone, mutable virtualenv will.