Você nunca precisará modificar o caminho diretamente, por meio de variáveis de ambiente ou sys.path
. Se você usa o os (ex. apt-get
) Ou pip
em um virtualenv, os pacotes serão instalados em um local já no caminho.
No seu exemplo, o GNU Radio é instalado no site-packages
local padrão do sistema Python 2 , que já está no caminho. Apontar PyCharm para o intérprete correto é suficiente; se não estiver, há algo errado que não é aparente. Pode ser que /usr/bin/python
não aponte para o mesmo intérprete em que o GNU Radio foi instalado; tente apontar especificamente para o python2.7
binário. Ou, o PyCharm costumava ser um pouco ruim na detecção de pacotes; File > Invalidate Caches > Invalidate and Restart
diria para redigitalizar.
Esta resposta abordará como você deve configurar um ambiente de projeto, instalar pacotes em diferentes cenários e configurar o PyCharm. Refiro-me várias vezes ao Python Packaging User Guide , escrito pelo mesmo grupo que mantém as ferramentas oficiais de empacotamento do Python.
A maneira correta de desenvolver um aplicativo Python é com um virtualenv. Pacotes e versão são instalados sem afetar o sistema ou outros projetos. O PyCharm possui uma interface interna para criar um virtualenv e instalar pacotes. Ou você pode criá-lo na linha de comando e apontar para PyCharm.
$ cd MyProject
$ python2 -m virtualenv env
$ . env/bin/activate
$ pip install -U pip setuptools # get the latest versions
$ pip install flask # install other packages
No seu projeto PyCharm, vá para File > Settings > Project > Project Interpreter
. Se você usou o virtualenvwrapper
PyCharm para criar o ambiente, ele deve aparecer no menu. Caso contrário, clique na engrenagem, escolha Add Local
e localize o binário Python no ambiente. PyCharm exibirá todos os pacotes no ambiente selecionado.
Em alguns casos, como no GNU Radio, não há um pacote para instalar pip
, o pacote foi instalado em todo o sistema quando você instala o restante do GNU Radio (ex. apt-get install gnuradio
). Nesse caso, você ainda deve usar um virtualenv, mas precisará conhecê-lo neste pacote de sistema.
$ python2 -m virtualenv --system-site-packages env
Infelizmente, parece um pouco confuso, porque todos os pacotes do sistema agora aparecerão no seu ambiente, mas são apenas links, você ainda pode instalar ou atualizar com segurança os pacotes sem afetar o sistema.
Em alguns casos, você terá vários pacotes locais em desenvolvimento e desejará que um projeto use o outro pacote. Nesse caso, você pode pensar que precisa adicionar o pacote local ao caminho do outro projeto, mas esse não é o caso. Você deve instalar seu pacote no modo de desenvolvimento . Tudo isso requer a adição de um setup.py
arquivo ao seu pacote , que será necessário para distribuir e implantar o pacote posteriormente posteriormente.
Mínimo setup.py
para o seu primeiro projeto:
from setuptools import setup, find_packages
setup(
name='mypackage',
version='0.1',
packages=find_packages(),
)
Em seguida, instale-o no ambiente do seu segundo projeto:
$ pip install -e /path/to/first/project