Quali sono i metodi più noti per l’installazione di programmi o script solo per l’utente corrente?

Alla ricerca di un buon (facile, intuitivo) modo di distribuire i miei script Python agli utenti nel nostro laboratorio. Trovato pip install --user installa le cose in ~/.local/bin – ma questa directory non è in PATH nella configurazione tipica di Ubuntu. La directory ~/bin è in PERCORSO. Quindi, perché pip non verrà installato lì? Anche se ci sono alcuni parametri nascosti in pip config per specificare la directory bin per utente, non voglio che gli utenti modifichino la loro configurazione pip. Sto pensando di trasformare ~/bin in un link simbolico che punta a ~/.local/bin , questo è facile e può essere fatto solo una volta. Gli utenti non devono modificare il loro PERCORSO e pip è felice.

Cosa ne pensi? Questo collegamento può portare a qualche problema?

Attualmente, il comportamento previsto dell’installazione di pip install --user in Ubuntu è quello di installare in ~/.local/bin , quindi se non lo si desidera, non si dovrebbe usare l’opzione --user .

Secondo https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562 , i nuovi account utente creati dopo l’atterraggio della patch avranno $HOME/.local/bin aggiunto a $PATH per impostazione predefinita. Puoi verificarlo leggendo cosa c’è dentro /etc/skel/.profile . Ho anche caricato un gist GitHub di /etc/skel/.profile e puoi vedere che l’ultima riga recita PATH="$HOME/bin:$HOME/.local/bin:$PATH" .

In breve, per “nuovi” account utente, non devi fare nulla. Per gli account utente “vecchi”, è ansible aggiungere $HOME/.local/bin a PATH in /etc/environment , che influirebbe anche sui “nuovi” account utente, ma non viene fatto alcun danno.