Deutsch   English   Français   Italiano  
<mailman.19.1744926071.3008.python-list@python.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.nobody.at!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: Mats Wichmann <mats@wichmann.us>
Newsgroups: comp.lang.python
Subject: Re: Pip installs to unexpected place
Date: Thu, 17 Apr 2025 15:41:06 -0600
Lines: 40
Message-ID: <mailman.19.1744926071.3008.python-list@python.org>
References: <CAApdmf2J69WgkR159sBSkxN0=mYoNmHZYboBmpPi+LdA-YBNpg@mail.gmail.com>
 <CAN06=CxPNLHtr_sdgphR2jrN1V+WbB8wZDJdbvfEDb-MYtmPHA@mail.gmail.com>
 <bbe32f47-13d2-459c-af22-4e0e37834091@tompassin.net>
 <4ZcdYR5WnWznV1q@mail.python.org>
 <cc1c6cf5-f8b9-4528-b6b0-110499b88162@wichmann.us>
 <4Zd3YM00SYznVKQ@mail.python.org>
 <CAJQBtgmfgC5aQy_7RXwHDbsxaf1UWYY0=FNsgPPR2UzzuKfTTA@mail.gmail.com>
 <4ZdrJv0v0LznV1q@mail.python.org>
 <6d1ac10c-80c0-484b-a7e7-e1966cea1b5d@wichmann.us>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: news.uni-berlin.de B3vQncD2nA4jUtb1jjidKwXzAHs7qaqdZbLpBeDpu8bA==
Cancel-Lock: sha1:j8VbyRKPhcpGk1BPxgGpC2QarcE= sha256:H93ZvFpTyduUFhN0l/xvx8ZS3NLe9w0w/NXOkN7idm8=
Return-Path: <mats@wichmann.us>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
 reason="2048-bit key; unprotected key"
 header.d=messagingengine.com header.i=@messagingengine.com
 header.b=JsQNQ1A6; dkim-adsp=none (unprotected policy);
 dkim-atps=neutral
X-Spam-Status: OK 0.024
X-Spam-Evidence: '*H*': 0.95; '*S*': 0.00; 'pip': 0.04; 'chances':
 0.05; 'is.': 0.05; '(?)': 0.09; 'dependencies': 0.09;
 'something,': 0.09; 'trivial': 0.09; 'that.': 0.15; '15:15,':
 0.16; 'be,': 0.16; 'directories.': 0.16; 'for.': 0.16; 'great.':
 0.16; 'many,': 0.16; 'packages.': 0.16; 'pip,': 0.16;
 'received:10.202': 0.16; 'received:10.202.2': 0.16;
 'received:internal': 0.16; 'received:messagingengine.com': 0.16;
 'refuse': 0.16; 'wrote:': 0.16; 'grant': 0.17; "can't": 0.17;
 'installing': 0.19; 'to:addr:python-list': 0.20; 'instructions':
 0.22; 'maybe': 0.22; 'version': 0.23; 'install': 0.23;
 'installed': 0.23; 'run': 0.23; 'anything': 0.25; 'stuff': 0.25;
 'brings': 0.26; 'asked': 0.28; 'done': 0.28; '>>>': 0.28;
 'expect': 0.28; 'header:User-Agent:1': 0.30; 'python-list': 0.32;
 'but': 0.32; 'there': 0.33; 'header:In-Reply-To:1': 0.34;
 'package': 0.34; 'complex': 0.35; 'this.': 0.35; 'really': 0.36;
 'source': 0.36; 'necessarily': 0.37; 'using': 0.37; "it's": 0.37;
 'could': 0.37; 'read': 0.38; 'two': 0.39; "that's": 0.39; 'least':
 0.39; 'break': 0.39; 'still': 0.40; 'best': 0.61; "there's": 0.61;
 'great': 0.62; 'point.': 0.62; 'reasonable': 0.62; 'your': 0.64;
 'let': 0.65; 'look': 0.65; 'well': 0.65; 'generally': 0.67;
 'accept': 0.67; 'right': 0.68; 'website,': 0.68; 'further': 0.69;
 'obvious': 0.69; 'practices.': 0.69; 'choice': 0.76; 'conflict':
 0.76; 'see,': 0.76; 'left': 0.83; 'reasons': 0.84; 'disagree':
 0.84; 'dozen': 0.84; 'forgot': 0.84; 'system).': 0.84;
 'received:103': 0.91
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wichmann.us; h=
 cc:content-transfer-encoding:content-type:content-type:date:date
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=2018-07.pbsmtp; t=
 1744926068; x=1745012468; bh=5hd4kfZf4GM9v/eN8GeEsUZrJEZ+rLCfr46
 1HcUv7LA=; b=Em2BsIryUoItDLG1ZZqh+rGSOSyMPiebDpDHUYaa8oCVW625SsR
 DU2XH8lx8rPfC4Scwl3k1Mt7CGK4YDM9NnZ0J9vNr5IFYZcYQlNHSCK1pHHMRnia
 qhLKKPxboxu4MVnxBjgMgDeU2+lHnQU5bFnyfE9CuH1TzfDhaZGzMwp8=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :content-type:date:date:feedback-id:feedback-id:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender
 :x-me-sender:x-sasl-enc; s=fm2; t=1744926068; x=1745012468; bh=5
 hd4kfZf4GM9v/eN8GeEsUZrJEZ+rLCfr461HcUv7LA=; b=JsQNQ1A6DzzJVtkzc
 4LvF+hK2fGOozOfr+ri6YKT4wGHevFrgG8Rcj9KR8V40BRp9eVcN2nP/ThKlu/T0
 xvJHCNG4xAxbJn8AiFya4dpCdjeVq7nt4AcnPYKxN5LZiJOsEbUaSRxhgU3BsfB4
 JX6TTMOn6VjV7ftMYZ/HYNbljqE6DRZaNpPlIYj4EitCSer/P4V/4nkskK4DvUHe
 JnBi97fcw5WSn7OlSzBRJGIp+qaef0R9981OiJCpWZ2hCADrW9H0pmcCCruxPiaU
 yW6t/kh2rm41bO+xl01cHJW+H4Y+4C2R8UbfQR+IC3SvTB45Ckl8HNXk1nlFaYRN
 Z5ZQA==
X-ME-Sender: <xms:dHUBaMaYflaxfeCwGdUDoG6zS_LRdpyPGmGynmHfQE9cnXLvqgBmEw>
 <xme:dHUBaHYMp2MmOKbxIYN6HDVUUNenEPWT5MGAKV3UUCk18b8SsUJc0S-WBuXsqJOXP
 dLsBUTHUPmpfZKJWF0>
X-ME-Received: <xmr:dHUBaG-qeksrE828XvC83rYTk1oS0BKMJQ6NS7IOpOhZlRxK8k8o6rksshrXJnpiXdxIHlHsoSAsJUSl7-hfbV-PRbmrtQrhnA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvfedtfeeiucetufdoteggodetrf
 dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
 pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefkff
 ggfgfuvfhfhfgjtgfgsehtjeertddtvdejnecuhfhrohhmpeforghtshcuhghitghhmhgr
 nhhnuceomhgrthhsseifihgthhhmrghnnhdruhhsqeenucggtffrrghtthgvrhhnpedtje
 duveeiteegteejgeehiedufeekgfdvjefgvedtteduffeuieelieevtdegffenucevlhhu
 shhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghtshesfihitg
 hhmhgrnhhnrdhushdpnhgspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpdhr
 tghpthhtohepphihthhhohhnqdhlihhsthesphihthhhohhnrdhorhhg
X-ME-Proxy: <xmx:dHUBaGq3kf1yRMLOYWI6SYn1kfGXXGuPHRhQC5Q31GNOCNL8ToICfw>
 <xmx:dHUBaHoY0B9JJqHwtcltzyHRfTuWlydXSn2QlW6deKJLEyEUo4VTcQ>
 <xmx:dHUBaESk9l4cAhBiylExl4lfwyrJDu70JWywepoO-m5hxpbR3l8aLA>
 <xmx:dHUBaHqa5t9TJ5P9qebA00qoDv7qPCp1enuLWe71yZOJJzbOaAyE5A>
 <xmx:dHUBaIe7exgQ5SEA3r-qVZH7fcljGCQy7qoPaq47Jo5nYEFdvG5zBu72>
Feedback-ID: i387144f0:Fastmail
User-Agent: Mozilla Thunderbird
Content-Language: en-US
Autocrypt: addr=mats@wichmann.us; keydata=
 xsDiBD9xp6oRBAC1vd3YI8Gcr1CxpV1gldNQu0uQsNaICDk+Ai3+R163s/P83JOYG+SBEA3P
 v7iZx70qpQ3RzP7KrjF1Nm6j0em9ccUX2fPQUCAxXw5Hiq7CSMiwQQZRI6shcnyMh9XTKViT
 WK5MrKDyvjDEn7epjKzKwPS5SG039l6XaOKU0A4uGwCgsNqUQqC0gMMcbKlJV8ql58iKmbMD
 /ii8FPQrXmyS/FnsPs7UddV5qMHKm7NUH5oiKuMVyakInRyq9iIxuu3D4Ec6mWRKcGsjmIkW
 HXCSz0aefs6dsqNqpU54cYioJ3wP5LzHK7oclgJPryVt5Qezbdutf8SQf8gVkaNIlkxwGUzi
 bKTZ6CHzwlz9nNgeel0XPUcZzFxGA/4paeCg2rMSVuAhUQbsLYHu4XzTs9P16zaXkrtxc4m5
 b+BF5xsLgTpyO5l859XudS2Gp+7/Y37dAU4QlyGGOboWmF1y9U5DnzBwG8ghsnym+ga58MJh
 LdRdQQ6xQolCpEXOuzm40f2r5uMxF3KOJ7WpIPuGAkeCPru9BmlATH+zOs0gTWF0cyBXaWNo
 bWFubiA8bWF0c0B3aWNobWFubi51cz7CYQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIX
 gAUCT0VyZwIZAQAKCRDAMaCQc9hUxiZBAJ9cWziGp7hVfsu5T+cQptc3rLNndQCgrZh8u5LW
 BfJ5e/Y+3PwZ8UEm+ELOwE0EP5is8BAEAMtwzcA8TYf5UTjDMgwcSNoErTc9ag+IX05QFgL8
 aF8sfJRv5atcitqQy0gSIsOzI+L/AFdPN/+QQI3dL1tCq14t32KPDtigDhzm6jVPXX5z+V9u
 xnD8XTp+ZvNcWoHXjViM8aXeLLEiCpiVCho307h3XShvqoKINWRQWeAsKKDDAAMFA/48zaey
 wiiEyvI0meJ1KkNHxdLP0yLODr1WV6j9xkPkLWOaIDw7dlwEOlF1N1YtZ2wa0p1wsttdIbIx
 ffgwXmcH4zrdxUIMz3U0BqYzk5H+5cYFXECXTFVOmweS+JECYMj80PjRoKCO1eVO1N30zksB
 36NnhZWPRWIhjK3ZarIYH8JGBBgRAgAGBQI/mKzwAAoJEMAxoJBz2FTG6VEAoKDYHfDp5Q3q
 PuPvPahCE9HsXMgAAJ9INTqcLSJrOfyJ8q95nBO1T26H2Q==
In-Reply-To: <4ZdrJv0v0LznV1q@mail.python.org>
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: General discussion list for the Python programming language
 <python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
 <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
 <mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <6d1ac10c-80c0-484b-a7e7-e1966cea1b5d@wichmann.us>
X-Mailman-Original-References: <CAApdmf2J69WgkR159sBSkxN0=mYoNmHZYboBmpPi+LdA-YBNpg@mail.gmail.com>
 <CAN06=CxPNLHtr_sdgphR2jrN1V+WbB8wZDJdbvfEDb-MYtmPHA@mail.gmail.com>
 <bbe32f47-13d2-459c-af22-4e0e37834091@tompassin.net>
 <4ZcdYR5WnWznV1q@mail.python.org>
 <cc1c6cf5-f8b9-4528-b6b0-110499b88162@wichmann.us>
 <4Zd3YM00SYznVKQ@mail.python.org>
 <CAJQBtgmfgC5aQy_7RXwHDbsxaf1UWYY0=FNsgPPR2UzzuKfTTA@mail.gmail.com>
 <4ZdrJv0v0LznV1q@mail.python.org>
Bytes: 10422

On 4/17/25 15:15, Grant Edwards via Python-list wrote:
> On 2025-04-17, Left Right via Python-list <python-list@python.org> wrote:
>>> Also... when installing stuff with pip --user, it is always a package
>>> that is not installed for the system (usually not even available for
>>> the system). How can that "break system packages"?
>>
>> pip installs dependencies. Dependencies may disagree on the version
>> with the system packages.
> 
> Good point. I don't generally allow pip to install dependencies, so I
> forgot about that source of conflict. But as far as I can see, it
> still can only break stuff for the user, not for the system. The
> system is never going to look in my ~/.local/lib/python* directories.
Sure, and it's "your fault" (sic) if you break yourself. You and I can 
maybe accept that. But it's usually not obvious that you're done 
anything to break stuff - you just asked to install something, according 
to the instructions you read on the project's website, which it's 
reasonable (?) to expect reflects best practices. Usually a simple "pip 
install".

Say you've been using "MLwiz" installed via a system package.  It has 
two dozen dependencies, some of which have further deps. And it works 
great.  Then you install "Chatbridge" via pip, and it brings with it its 
own dependencies. It's not really useful to refuse to let it bring its 
own deps with it since there may be version-specific requirements on its 
deps, which that project has reasons for. So now you've got a few pkgs 
in the system with different versions in your .local, and you can't run 
MLwiz any longer, because a .local pkg (picked up first) conflicts with 
the requirements of MLwiz.

There's just not a really great answer to this.

"Use a virtualenv". Fine, but that's still daunting to many, and not 
necessarily as well described as it could be, and the choice of the word 
"virtual" in the name makes it sound more complex than it actually is. 
Projects can certainly do better at describing installation scenarios - 
at least if they have more than a trivial number of deps, where the 
conflict chances go up rapidly.