Quais são os métodos mais conhecidos para instalar programas ou scripts apenas para o usuário atual?

1

Procurando uma maneira boa (fácil e intuitiva) de implantar meus scripts Python para usuários em nosso laboratório. Descobriu que pip install --user instala o material em ~/.local/bin - mas este diretório não está em PATH na configuração típica do Ubuntu. O diretório ~/bin está no PATH. Então, por que pip não vai instalar lá? Mesmo se houver algum parâmetro oculto na configuração do pip para especificar o diretório bin por usuário, não quero que os usuários ajustem sua configuração de pip. Estou pensando em transformar ~/bin em symlink que aponta para ~/.local/bin , isso é fácil e pode ser feito apenas uma vez. Os usuários não precisam ajustar o seu PATH e pip é feliz.

O que você acha? Essa ligação pode levar a algum problema?

    
por ddbug 21.07.2016 / 00:06

1 resposta

2

Atualmente, o comportamento esperado de pip install --user no Ubuntu é instalar em ~/.local/bin , portanto, se você não quiser isso, não use a opção --user .

De acordo com o link , as novas contas de usuário criadas após o patch ter aterrissado terão $HOME/.local/bin adicionado a $PATH por padrão. Você pode verificar isso lendo o que está dentro de /etc/skel/.profile . Eu também fiz upload de um GitHubist de /etc/skel/.profile e você pode ver que a última linha lê PATH="$HOME/bin:$HOME/.local/bin:$PATH" .

Em suma, para "novas" contas de usuário, você não precisa fazer nada. Para contas de usuário "antigas", você pode anexar $HOME/.local/bin a PATH em /etc/environment , o que também afetaria as "novas" contas de usuário, mas nenhum dano é causado.

    
por edwinksl 21.07.2016 / 01:06