-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add install make target #437
Conversation
Interesting position from Debian-12:
|
The problem with pip install is that it installs the package globally and that can cause conflicts with packages installed via package manager.
This is why they added externally-managed-environment seen in Debian 12. This will presumably be adopted by most distros.
See https://peps.python.org/pep-0668/
You could do pip install --user but usually the best way is to create a virtual env.
Python packaging is a bit of a mess.
-- Ivan
On Thu, 7 Dec 2023, at 12:26, Sandro Santilli wrote:
Interesting position from Debian-12:
`pip install .
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
`
…
—
Reply to this email directly, view it on GitHub <#437 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AADVWWUF4EXCMJNMNMJQMWLYIGRVPAVCNFSM6AAAAABAI673EWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBVGE3TCNJRGQ>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
I've found It also allows using a system-wide virtualenv, using a pair of enviromnent variables: How would the maintainer feel about going in that direction and requiring The install target would then be something like:
What to make of pipx_home default I'm not sure, maybe $(sharedir)/pipx ? |
I've pushed a commit using pipx |
Uses pipx to install globally Closes ihabunek#433
Thanks for the pull, but I decided not to merge this one. It makes assumptions like that the user wants to use pipx, that pipx home defaults to If you use toot from source, some python knowledge is required, and every user can choose what suits their needs. For example, I never use pipx to install from source, i install using pip into a virtual env managed by virtualenvwrapper. But that's just my workflow. |
Closes #433