Python plugin. `pip install .` failing because of `pyproject.toml` file
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
Issue body
### Bug Description
When there is a `pyproject.toml` file in the repository, the Python plugin will run `pip install .` See: :https://github.com/canonical/craft-parts/blob/ecc7e2d9f45bdafff00dc72bbe1544a24b4275a6/craft_parts/plugins/python_plugin.py#L115).
However, there are cases where the file `pyproject.toml` is created just to give tools their configuration. One example is NetBox (see [pyproject.toml](https://github.com/netbox-community/netbox/blob/develop/pyproject.toml)). When running `pip install .` in this repository, it will fail, as in this case the file `pyproject.toml` is not intended to be used to create a package.
After a chat with @sergiusens, some workaround could maybe possible, like not running `pip install .` when there is some part missing in the `pyproject.tml` (like the project section).
This issue is related to: https://github.com/canonical/rockcraft/pull/577
### To Reproduce
Run:
`pip install .` in the NetBox repository: https://github.com/netbox-community/netbox
### part yaml
_No response_
### Relevant log output
```shell
ubuntu@xiifactor:~/github/canonical/netbox$ pip install .
Defaulting to user installation because normal site-packages is not writeable
Processing /home/ubuntu/github/canonical/netbox
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
error: Multiple top-level packages discovered in a flat-layout: ['charm', 'netbox', 'contrib'].
To avoid accidental inclusion of unwanted files or directories,
setuptools will not proceed with this build.
If you are trying to create a single distribution with multiple packages
on purpose, you should not rely on automatic discovery.
Instead, consider the following options:
1. set up custom discovery (`find` directive with `include` or `exclude`)
2. use a `src-layout`
3. explicitly set `py_modules` or `packages` with a list of names
To find more information, look for "package discovery" on setuptools docs.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
```
Evaluation history
No evaluation history available.