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]

Reply via email to