# Installation configuration ----- These options have no effect when the project installation is [disabled](#skipping-installation). ## UV You may set the `PYAPP_UV_ENABLED` option to `true` or `1` to use [UV](https://github.com/astral-sh/uv) for virtual environment creation and project installation. ### Version ### {: #uv-version } You may use a specific `X.Y.Z` version by setting the `PYAPP_UV_VERSION` option. By default, a version of UV that has already been downloaded by a PyApp application is used. If UV has not yet been downloaded then the latest version is used. ### Only bootstrap You may set the `PYAPP_UV_ONLY_BOOTSTRAP` option to `true` or `1` to only use UV for virtual environment creation and continue using pip for project installation. ### Source You may explicitly set the `PYAPP_UV_SOURCE` option in order to download your own UV release archive. This takes precedence over any defined [version](#uv-version). The value must end with the archive's real file extension, which is used to determine the extraction method. ## pip These options have no effect when UV is [enabled](#uv). ### Externally managed You may set the `PYAPP_PIP_EXTERNAL` option to `true` or `1` to use the [standalone](https://pip.pypa.io/en/stable/installation/#standalone-zip-application) versions of pip rather than whatever the distribution provides. By default, the latest version is used. You may use a specific `X.Y.Z` version by setting the `PYAPP_PIP_VERSION` option. !!! tip This provides a significant installation speed up when [full isolation](distribution.md#full-isolation) is not enabled. ### Allowing configuration You may set the `PYAPP_PIP_ALLOW_CONFIG` option to `true` or `1` to allow the use of environment variables and other configuration at runtime. ### Virtual environments When [full isolation](distribution.md#full-isolation) is not enabled, you may set the `PYAPP_UPGRADE_VIRTUALENV` option to `true` or `1` to create virtual environments with [virtualenv](https://github.com/pypa/virtualenv) rather than the standard library's `venv` module. ## Extra installer arguments You may set the `PYAPP_PIP_EXTRA_ARGS` option to provide extra arguments to the [`pip install`](https://pip.pypa.io/en/stable/cli/pip_install/) (or [UV](#uv) equivalent) command at runtime when installing or updating the project e.g. `--only-binary :all: --extra-index-url URL`. ## Location The default location of your application's installation differs based on the operating system and can be overridden at runtime with the `PYAPP_INSTALL_DIR_` environment variable where `` is the uppercased version of the [project name](project.md#identifier). ## Skipping installation You may set the `PYAPP_SKIP_INSTALL` option to `true` or `1` to skip installing the project in the distribution. This allows for entirely predefined distributions and thus no network calls at runtime if used in conjunction with [distribution embedding](distribution.md#embedding). When project installation is skipped, the `update` command will not be available. You may set the `PYAPP_ALLOW_UPDATES` option to `true` or `1` to expose the command anyway. Be sure to set the appropriate [project options](project.md) as configuring a prebuilt distribution does not require those.