det101 opened a new issue, #12461: URL: https://github.com/apache/seatunnel/issues/12461
### Search before asking - [x] I had searched in the issues and found no similar requirement. ### Description `seatunnel-cli/setup.sh` runs `python3 -m pip install -e ".[dev]"` with whatever `python3` is on `PATH`. On a typical Debian/Ubuntu system Python this fails: pip 22 and setuptools 59 do not provide the `build_editable` hook, so the editable install errors with "build backend is missing the 'build_editable' hook". When the system pip is new enough to succeed, the CLI dependencies (`openai`, `boto3`, `anthropic`, and the rest of the `dev` extra) are installed into the shared interpreter and can change versions used by other projects. This is an improvement to the existing source-install path, not a new CLI feature. Install the source checkout into `seatunnel-cli/.venv`. That directory is already listed in `.gitignore`. - Reuse `.venv` when it already contains a working Python. - Otherwise create it with `python3 -m venv`. If that fails because `python3-venv` / `ensurepip` is missing, remove the partial directory and retry with `virtualenv`. If neither is available, exit with a message that names the missing package. - Inside the virtual environment, upgrade `pip`, `setuptools`, and `wheel`, then run `pip install -e ".[dev]"`. - Tell the user to run `source .venv/bin/activate` and then `seatunnel`. Without activation, `.venv/bin/seatunnel` still works. The installed script's shebang points at `.venv/bin/python`, so activation only puts that executable on `PATH`. It does not install packages into the system interpreter. ### Usage Scenario A developer clones the repository and runs `bash setup.sh` from `seatunnel-cli` to try the AI CLI. The command should finish on a stock system Python 3.10. Later `seatunnel` invocations from that activated shell should use only the project virtual environment. ### Related issues None. ### Are you willing to submit a PR? - [x] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) ### Out of scope The distribution launcher `bin/seatunnel-ai.sh` stays as it is. A manual `pip install -e` can still target an environment the caller has already selected. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
