Pip installs to unexpected place

Thomas Passin list1 at tompassin.net
Tue Apr 15 14:12:19 EDT 2025


On 4/15/2025 12:43 PM, Friedrich Romstedt via Python-list wrote:
> Am Mo., 14. Apr. 2025 um 01:14 Uhr schrieb Jonathan Gossage via Python-list
> <python-list at python.org>:
> 
>> I am using *Python 3.13* in a virtual environment under *Ubuntu Linux
>> 24.04*
>> .
>> [...]
> 
> 
> 
>> Instead, it was
>> installed into the site-packages directory in
>> */home/jonathan/.locals/lib/python3.13/site-packages* even though I did not
>> specify *--user* to the *pip install* command. Is this expected behavior? I
>> wanted Sphinx to be installed in the virtual environment so that it would
>> be accessible to all users of the virtual environment.
> 
> 
> Hi Jonathan,
> 
> Many people put emphasis on that you need to *activate* a virtualenv before
> using it, but no-one so far stressed the fact that you got Sphinx installed
> to ~/jonathan/.local/lib/python3.13/site-packages *without using *--user.

On Linux, at least, it's standard for pip to install into the user's 
site-packages location if it's not invoked with admin privileges - even 
without --user. Pip will emit a message saying so. Well, that used to be 
true but nowadays Pip wants you to use the --break-system-packages flag 
if you want to insist on installing into the system's Python install, 
even if it's going to go into --user. I'm not sure if the restriction 
will be in place given that the OP built his own Python version.

> Do you have, by any chance, one of the following pip-related configuration
> files present?
> 
>     - /etc/pip.conf
>     - ~/.config/pip/pip.conf
>     - ~/.pip/pip.conf (lagacy)
> 
> I took this list from https://pip.pypa.io/en/stable/topics/configuration/.
> *If* there is any such file present, you might look out for a line:
> 
> user = true
> 
> but I am not entirely certain about this.
> 
> Looking forward to your reply!
> 
> Best,
> Friedrich



More information about the Python-list mailing list