[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Installing a python package with pipx





On Sat, Jun 1, 2024, 23:50 Richmond <dnomhcir@gmx.com> wrote:
Richard <rrosner5@gmail.com> writes:

> A packages documentation is always your best friend: https://pypi.org
> /project/idle/
>

Yes it makes it look easy there, but:

import idle
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".local/pipx/shared/lib/python3.11/site-packages/idle.py", line 4, in <module>
    from layout import *
ModuleNotFoundError: No module named 'layout'
That's what I'm talking about. You wildly mix commands together that don't go together. And whatever is off with your paths. Things of pipx installed packages should be in .local/bin and .local/shared/pipx. At least on Debian that's the default. No idea what you did.

> Also, python script isn't a necessarily a standalone executable. And
> also, you shouldn't just wildly mix pipx commands with pip commands
> if you don't know what you are doing. Either create a venv with
> python3 -m venv or use pipx, not both. Once created, stick to these
> separate paths. And read the documentation of pipx while you're at
> it. Sure, venvs are easy to handle, as you can just delete them and
> start from scratch, but mixing commands without knowing what one is
> doing is just a recipe for desaster.
>

I don't know what I am doing for sure. But I did not wildly mix, I just
kept trying things until I found something which worked. Most things
didn't, and still don't.
You are, your last comment is more than proof enough. 

You should just remove everything you installed with pipx, create a separate venv - without using pipx! - and solely work inside it. And don't touch pipx for anything that's not meant as a standalone CLI  program, like yt-dlp, speedtest and the sorts. Maybe that way you can't do that much wrong. 

At this point this is hardly a Debian related topic. You should first learn more about Python venvs and their package managers.

Reply to: