Eu estava fazendo isso hoje, parece que a documentação clara é escassa para pessoas que querem manter algum controle sobre o que está instalado e onde.
Supondo que você tenha executado o pip3 install whatever, o padrão é colocar as coisas em ~ / .local, como você sabe. É costume no Unix dividir os tipos de arquivos, colocar os "executáveis" em ~ / .local / bin.
Em um terminal, digite isso 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 são para 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 alteração. Por favor, lembre-se que é uma configuração temporária apenas para aquela sessão de terminal. Não se aplica a outros terminais ao mesmo tempo ou no futuro. É um bom lugar para testar as coisas.
Depois disso, todos os executáveis do programa dentro de ~ / .local / bin devem ser executados se você digitar seu nome na linha de comando. Não há necessidade de executar "~ / .local / bin / jupyter", por exemplo. Apenas digite "jupyter". Não há necessidade do "./" que você vê algumas vezes, é quando você inicia um programa a partir do diretório de trabalho que não está no caminho.
Se mais tarde você decidir que quer tornar essa permanente, de modo que ~ / .local / bin esteja sempre em seu PATH, você pode fazer isso editando alguns arquivos de configuração do ambiente. Dependendo da sua configuração, por exemplo, no arquivo ".bashrc" da minha pasta pessoal, a última linha é "export PATH = $ PATH: $ HOME / bin". Então eu poderia colocar $ HOME / local / bin na frente disso. Note que eu escrevi $ HOME, não "~" lá dentro. Então, toda vez que eu usar um shell BASH, o PATH seria corrigido. Se você puder usar outros shells, acho que a coisa certa é editar o arquivo ~ / .profile. Eu acho que todas as shells no Ubuntu irão fornecer esse arquivo.
No meu caso, instalei vários programas com o pip3, como o jupyter. Uma maneira de ter certeza de onde isso foi instalado é rodar
$ pip3 list
mostra todos os pacotes disponíveis, não apenas aqueles 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: [email protected]
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
Eu não quero que isso soe como uma chama, mas pode parecer um ataque. Eu avisá-lo para não seguir avidamente o conselho que algumas pessoas aqui vão oferecer, para executar "sudo pip3 xxx". Geralmente, você preferiria executar instalações de 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ê goof enquanto estiver executando um script como root, você pode espalhar arquivos em todo o seu disco rígido e se arrepender. Especialmente se outras pessoas fizerem login e usarem esse computador, evite fazer qualquer coisa como raiz, a menos que você esteja confiante.
Também vale a pena notar que o padrão pip3 é instalar em ~ / .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 é legal porque você pode limitar qualquer dano a outro diretório e deletá-lo quando quiser. ~ / .local pode ter outras coisas valiosas nele instaladas por outros programas e você preferiria não obliterá-las. Eu penso em ~ / .local como um lugar mais para configurações do que programas de qualquer maneira.