Eu estava fazendo isso hoje, parece que a documentação clara é escassa para as pessoas que desejam manter algum controle sobre o que está instalado e onde.
Supondo que você tenha executado o pip3, instale o que for, o padrão é colocar as coisas em ~ / .local, como você sabe. É habitual no Unix dividir os tipos de arquivo, coloque os "executáveis" em ~ / .local / bin.
Em um terminal, digite isto para ver seu caminho agora:
$ echo $PATH
Verifique se você tem o material python instalado em ~ / .local
$ ls -la ~/.local/bin
Isso confirma que os arquivos executáveis estão lá ou faz por mim. Se essas permissões de arquivo mostrarem "x", elas serão executáveis.
Agora, adicione esse diretório ao caminho dentro do terminal
$ export PATH=~/.local/bin:$PATH
Verifique seu caminho novamente para ver a mudança. Lembre-se de que é uma configuração temporária apenas para essa sessão do terminal. Não se aplica a outros terminais ao mesmo tempo ou no futuro. É um bom lugar para testar as coisas.
Depois disso, todo programa executável em ~ / .local / bin deve ser executado se você digitar seu nome na linha de comando. Não há necessidade de executar "~ / .local / bin / jupyter", por exemplo. Basta digitar "jupyter". Não é necessário o "./" que você vê às vezes, é quando você inicia um programa a partir do diretório de trabalho que não está no caminho.
Se, posteriormente, você decidir que deseja tornar isso permanente, para que ~ / .local / bin esteja sempre em seu PATH, você poderá fazer isso editando alguns arquivos de configuração do ambiente. Dependendo da sua configuração, por exemplo, no meu arquivo ".bashrc" da pasta pessoal, a última linha é "export PATH = $ PATH: $ HOME / bin". Então eu poderia colocar $ HOME / local / bin na frente disso. Note que escrevi $ HOME, não "~" lá. Então, toda vez que eu uso um shell BASH, PATH seria corrigido. Se você pode usar outros shells, acho que a coisa certa é editar o ~ / .profile. Eu acho que todas as conchas no Ubuntu irão obter esse arquivo.
No meu caso, instalei vários programas com o pip3, como o jupyter. Uma maneira de garantir onde foi instalado é executar
$ pip3 list
mostra todos os pacotes disponíveis, não apenas os instalados pelo pip3.
$ pip3 show jupyter
No meu caso, por exemplo:
---
Metadata-Version: 2.0
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapackage. Install all the Jupyter components in one go.
Home-page: http://jupyter.org
Author: Jupyter Development Team
Author-email: jupyter@googlegroups.org
Installer: pip
License: BSD
Location: /home/pauljohn/.local/lib/python3.5/site-packages
Requires: nbconvert, ipykernel, ipywidgets, notebook, jupyter-console, qtconsole
Classifiers:
Intended Audience :: Developers
Intended Audience :: System Administrators
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
Não quero que isso pareça uma chama, mas pode parecer um ataque. Eu o advertiria a não seguir avidamente o conselho que algumas pessoas aqui oferecerão, para executar o "sudo pip3 xxx". Geralmente, você prefere executar instalações raiz apenas com pacotes Debian, não com pip3. Se você executar sem o sudo, estará limitando o perigo à conta do usuário. Se você estiver executando um script como root, poderá espalhar arquivos por todo o disco rígido e se arrepender. Especialmente se outras pessoas fizerem login e usarem o computador, evite fazer qualquer coisa como root, a menos que esteja confiante.
Também vale a pena notar que o padrão do pip3 é instalado no ~ / .local, mas isso não é necessário. Leia "man pip3", procure por "-t" (--target). Você pode especificar o diretório de instalação. Eu acho que isso é legal porque você pode limitar qualquer dano a outro diretório e excluí-lo quando quiser. ~ / .local pode ter outras coisas valiosas instaladas por outros programas e você prefere não apagá-las. Penso em ~ / .local como um lugar mais para configurações do que para programas de qualquer maneira.