Add --target support to sync and install (#3257)

## Summary

The approach taken here is to model `--target` as an install scheme in
which all the directories are just subdirectories of the `--target`.
From there, everything else... just works? Like, upgrade, uninstalls,
editables, etc. all "just work".

Closes #1517.
This commit is contained in:
Charlie Marsh 2024-04-25 19:15:39 -04:00 committed by GitHub
parent 71ffb2eabc
commit ed8f6e4556
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 284 additions and 36 deletions

View file

@ -19,12 +19,14 @@ pub use crate::find_python::{find_best_python, find_default_python, find_request
pub use crate::interpreter::Interpreter;
use crate::interpreter::InterpreterInfoError;
pub use crate::python_environment::PythonEnvironment;
pub use crate::target::Target;
pub use crate::virtualenv::Virtualenv;
mod cfg;
mod find_python;
mod interpreter;
mod python_environment;
mod target;
mod virtualenv;
#[derive(Debug, Error)]