Qual é a melhor maneira de instalar pacotes Python no Ubuntu 11? Sou um recém-convertido para o Ubuntu e quero aprender as melhores práticas.
Por contexto, pretendo instalar o pacote tweeststream, mas não o vi no meu gerenciador de pacotes Synaptic. Além disso, sou muito novo em programação, mas geralmente posso acompanhar exemplos de código.
Respostas:
Eu acho que a melhor maneira para você seria instalar o sistema de empacotamento Python como "python-pip". Você pode instalá-lo com o Synaptic ou o Ubuntu Software Center.
O Pip permitirá que você instale e desinstale facilmente pacotes Python, simplesmente como
pip install package
. No seu caso, seria algo parecido com isto no terminal:fonte
sudo pip <anything>
deve ser usado com muito cuidado. Comotweetstream
não está no Ubuntu Software Center , recomendo usar um virtualenv . tweetstream desetup.py
requeranyjson
que é um pacote Ubuntu . Não instalar o tweetstream em um servidorvirtualenv
pode causaranyjson
a falha de outros aplicativos Ubuntu dependentes . Solucionar problemas.sudo pip
no Ubuntu. @ MarkMikofski: você não precisa do virtualenv (a menos que queira por algum motivo específico).python -mpip install --user package-name
pode instalar o pacotepackafe-name
para o usuário atual. Se houver dependências complexas (grandes extensões C); você pode instalá-los usandoapt-get
, para evitar a instalação de dependências de compilação, a menos que necessário.updated: 2019-05-11: Esta publicação menciona principalmente
virtualenv
, mas de acordo com o documento do Python sobre instalação de módulos , desde o Python 3.5 "o uso devenv
agora é recomendado para criar ambientes virtuais", enquantovirtualenv
é uma alternativa para versões do Python anteriores à 3.4 .Atualização: 2018/08/17: desde Conda-4.4.0 uso
conda
deactivate
anaconda em todas as plataformasatualizado: 27-03-2017: PEP 513 -
manylinux
binários para PyPIatualizado: 19/08/2016: Opção Continuum Anaconda
Isso é uma duplicata do easy_install / pip ou apt-get .
Para pacotes globais de Python, use o Ubuntu Software Center, apt, apt-get ou synaptic
O Ubuntu usa o Python para muitas funções importantes, portanto, interferir no Python pode corromper o seu sistema operacional. Esta é a principal razão pela qual eu nunca uso
pip
no meu sistema Ubuntu, mas em vez disso usar o Ubuntu Software Center, sináptica ,apt-get
ou o mais recente apenasapt
, que todos por padrão instalar pacotes a partir do repositório do Ubuntu . Esses pacotes são testados, geralmente pré-compilados para serem instalados mais rapidamente e, finalmente, projetados para o Ubuntu. Além disso, todas as dependências necessárias também são instaladas e um log de instalações é mantido para que elas possam ser revertidas. Eu acho que a maioria dos pacotes tem repositórios correspondentes do Launchpad para que você possa arquivar problemas.Outro motivo para usar os pacotes do Ubuntu é que, às vezes, esses pacotes Python têm nomes diferentes, dependendo de onde você os baixou. Python-chardet é um exemplo de pacote que foi nomeado uma coisa no PyPI e outra no repositório Ubuntu. Portanto, fazer algo como
pip install requests
não perceberá que o chardet já está instalado no seu sistema porque a versão do Ubuntu tem um nome diferente e, consequentemente, instala uma nova versão que corrompe o sistema de uma maneira insignificante menor, mas ainda por que você faria isso.Em geral, você deseja instalar apenas um código confiável no seu sistema operacional. Então você deve estar nervoso sobre a digitação
$ sudo pip <anything-could-be-very-bad>
.Por fim, algumas coisas são mais fáceis de instalar usando os pacotes do Ubuntu. Por exemplo, se você tentar
pip install numpy
instalar o numpy & scipy, a menos que já tenha instalado o gfortran, atlas-dev, blas-dev e lapack-dev, verá um fluxo interminável de erros de compilação. No entanto, a instalação de numpy & scipy através do repositório Ubuntu é tão fácil quanto ...Você está com sorte, porque está usando o Ubuntu, uma das distribuições mais amplamente suportadas e atualizadas. Provavelmente, todos os pacotes Python que você precisará estão no repositório Ubuntu e provavelmente já estão instalados em sua máquina. E a cada 6 meses, um novo ciclo de pacotes será lançado com a distribuição mais recente do Ubuntu.
Se você está 100% confiante de que o pacote não irá interferir no sistema Ubuntu de nenhuma maneira, você pode instalá-lo usando o pip e o Ubuntu é bom o suficiente para manter esses pacotes separados dos pacotes de distribuição colocando os pacotes de distribuição em uma pasta chamada
dist-packages/
. O repositório Ubuntu possui pip, virtualenv e setuptools. No entanto, eu apóio a sugestão de Wojciech de usar o virtualenv.Para projetos pessoais do Python, use pip e wheel em um virtualenv
Se você precisar da versão mais recente ou o módulo não estiver no repositório Ubuntu, inicie um virtualenv e use o pip para instalar o pacote. Embora o pip e o setuptools tenham sido mesclados, o IMO pip é preferido em relação à instalação fácil ou ao distutils, porque sempre espera até que o pacote seja baixado e construído completamente antes de copiá-lo no sistema de arquivos e facilita a atualização ou desinstalação. De muitas maneiras, é semelhante ao apt-get, pois geralmente lida bem com dependências. No entanto, você
vaipode ter que lidar com algumas dependências sozinho, mas desde PEP 513 foi adotada agora hámanylinux
binários no Python Package Index (PyPI) para distros populares Linux como Ubuntu e Fedora .por exemplo, como mencionado acima para NumPy e SciPy fazer gfortran certeza que você instalou, atlas-dev, blas-dev e LAPACK-dev do repositório UbuntuPor exemplo, tanto NumPy e SciPy agora são distribuídos para o Ubuntu comomanylinux
rodas por padrão usando OpenBLAS vez do ATLAS. Você ainda pode construí-los a partir da fonte usando as opções de pip--no-use-wheel
ou--no-binary <format control>
.Consulte a próxima seção, "Você não está presente
sudoers
", abaixo, para instalar versões atualizadas do pip, setuptools, virtualenv ou wheel no seu perfil pessoal usando o--user
esquema de instalação com o pip. Você pode usar isso para atualizar o pip para seu uso pessoal, como JF Sebastian indicou em seu comentário para outra resposta . NOTA:-m
é realmente necessário apenas no MS Windows ao atualizar o pip .As versões mais recentes do pip armazenam em cache as rodas automaticamente; portanto, o seguinte é útil apenas para versões mais antigas do pip. Como você pode acabar instalando essas várias vezes, considere usar o wheel com pip para criar uma casa do leme. O wheel já está incluído
virtualenv
desde a v13.0.0, portanto, se sua versãovirtualenv
for muito antiga, talvez seja necessário instalar o wheel primeiro.Isso criará arquivos de roda binários
<cwd>/wheelhouse
, use-d
para especificar um diretório diferente. Agora, se você iniciar outro virtualenv e precisar dos mesmos pacotes que já construiu, poderá instalá-los na sua casa do leme usandopip install --find-links=<fullpath>/wheelhouse
Leia Instalando módulos Python na documentação do Python e Instalando pacotes na página principal do Python Package Index . Também pip , venv , virtualenv e wheel .
Se você não está
sudoers
evirtualenv
não está instalado.Outra opção para usar um ambiente virtual, ou se você estiver usando um compartilhamento Linux sem privilégios de root, usar os esquemas de instalação
--user
ou--home=<wherever-you-want>
Python com o Pythondistutils
instalará pacotes com o valor desite.USERBASE
ou para onde você quiser. As versões mais recentes do pip também têm uma--user
opção. Não usesudo
!Se a sua versão Linux do pip for muito antiga, você poderá passar as opções de configuração usando o
--install-option
que é útil para passar opções personalizadas para algunssetup.py
scripts de alguns pacotes que constroem extensões, como a configuração dePREFIX
. Pode ser necessário extrair a distribuição e usá-ladistutils
para instalar o pacote da maneira antiga, digitandopython setup install [options]
. A leitura de algumas das documentações de instalação e dadistutils
documentação pode ajudar.O Python é bom o suficiente para adicionar
site.USERBASE
à suaPYTHONPATH
frente de qualquer outra coisa, portanto as alterações afetarão apenas você. Um local popular para--home
é~/.local
. Veja o guia de instalação do módulo Python para a estrutura exata do arquivo e especificamente onde estão os pacotes do site. Nota : se você usar o--home
sistema de instalação, em seguida, pode ser necessário adicioná-lo àPYTHONPATH
variável de ambiente usandoexport
na sua.bashrc
,.bash_profile
ou em seu shell para seus pacotes localizados para estar disponível em Python.Use o Continuum Anaconda Python para projetos de matemática, ciências, dados ou pessoais
Se você estiver usando o Python para matemática, ciências ou dados, a IMO é uma boa opção: a Distribuição Anaconda-Python ou a distribuição miniconda mais básica lançada pela Anaconda, Inc. (anteriormente conhecida como Continuum Analytics ) . Embora alguém possa se beneficiar do uso do Anaconda para projetos pessoais, a instalação padrão inclui mais de 500 pacotes de matemática e ciências como NumPy, SciPy, Pandas e Matplotlib , enquanto o miniconda instala apenas o Anaconda-Python e o gerenciador de ambiente conda. O Anaconda é instalado apenas no seu perfil pessoal, ou seja:
/home/<user>/
ealtera o seu caminhorecomendações~/.bashrc
ou o~/.bash_profile
pré-anexa do Anaconda às suas$PATH
pessoaisconda.sh
no seu,~/.bashrc
que permite usar oconda activate <env|default is base>
anaconda - isso só afeta você - o caminho do sistema permanece inalterado . Portanto, você não precisa de acesso root ousudo
usar o Anaconda! Se você já adicionou Anaconda-Python, miniconda ou conda ao seu caminho pessoal, remova aPATH
exportação~/.bashrc
e atualize para a nova recomendação , para que o sistema Python seja o primeiro novamente.Isso é um pouco semelhante à
--user
opção que expliquei na última seção, exceto que se aplica ao Python como um todo e não apenas aos pacotes. Portanto, o Anaconda é completamente separado do Python do sistema , não interfere no Python do sistema e somente você pode usá-lo ou alterá-lo. Como ele instala uma nova versão do Python e todas as suas bibliotecas, você precisará de pelo menos 200 MB de espaço, mas é muito inteligente em cache e gerenciamento de bibliotecas, o que é importante para algumas das coisas legais que você pode fazer com o Anaconda.O Anaconda organiza uma coleção de binários e bibliotecas Python exigidos pelas dependências em um repositório online (anteriormente chamado de binstar ) e também hospeda pacotes de usuários como "canais" diferentes. O gerenciador de pacotes usado pelo Anaconda,,
conda
por padrão, instala pacotes do Anaconda, mas você pode sinalizar um "canal" diferente usando a-c
opçãoInstalar pacotes com
conda
apenas comopip
:Mas
conda
pode fazer muito mais! Ele também pode criar e gerenciar ambientes virtuais da mesma maneiravirtualenv
. Portanto, como o Anaconda cria ambientes virtuais, opip
gerenciador de pacotes pode ser usado para instalar pacotes do PyPI em um ambiente do Anaconda sem raiz ousudo
. Você não usarsudo
com Anaconda! Atenção! Tenha cuidado, porém, ao misturarpip
econda
em um ambiente Anaconda, porque você precisará gerenciar as dependências do pacote com mais cuidado. Outra opçãopip
em um ambiente conda é usar o canal conda-forge, mas também é melhor fazer isso em um ambiente conda novo, com o conda-forge como o canal padrão. Como último recurso, se você não conseguir encontrar um pacote em nenhum lugar, exceto no PyPI, considere usar--no-deps
e instale manualmente as dependências restantes usandoconda
.O Anaconda também é semelhante, em alguns aspectos, ao Ruby RVM, se você estiver familiarizado com essa ferramenta. O Anaconda
conda
também permite criar ambientes virtuais com diferentes versões do Python . por exemplo :conda create -n py35sci python==3.5.2 numpy scipy matplotlib pandas statsmodels seaborn
criará uma pilha científica / de ciência de dados usando Python-3.5 em um novo ambiente chamadopy35sci
. Você pode alternar ambientes usandoconda
. Desde Conda-4.4.0, este é agora diferente paravirtualenv
que usasource venv/bin/activate
, mas anterior ao Conda-4.4.0 osconda
comandos eram a mesma comovirtualenv
e também utilizadosource
:Mas espere, tem mais! O Anaconda também pode instalar idiomas diferentes, como R, para programação estatística no canal Anaconda
r
. Você pode até configurar seu próprio canal para fazer o upload de distribuições de pacotes criadas para o conda . Como mencionado, o conda-forge mantém compilações automatizadas de muitos dos pacotes no PyPI no canal Anda- da-conda-forge .Epílogo
Existem muitas opções para manter seus projetos Python no Linux, dependendo de suas necessidades e acesso pessoais. No entanto, se há algo que espero que você tire dessa resposta é que quase nunca precisará usar
sudo
para instalar pacotes Python . O uso desudo
deve ser um cheiro para você que algo está errado. Você foi avisado.Boa sorte e feliz codificação!
fonte
sudo
aípip
. Ótimo artigo, obrigado por esta informação.pip install numpy
deve instalar todas as dependênciaspip install <package>
instalará apenas as dependências do pacote Python listadas nainstall_requires
seçãosetup.py
. Por exemplo: instalar o Jupyter não instalará a biblioteca Haskell pandoc para exportar os blocos de anotações do Jupyter como LaTeX, etc #conda install <package>
provavelmente instalará todas as dependências, incluindo C / C ++, FORTRAN, etc., mesmo as bibliotecas Haskell, porque o conda não gerencia apenas pacotes Python como o pip, ele gerencia ambientes. Portanto, se você tinha o Anaconda ou o miniconda,conda install Jupyter
instala tudo no arquivo da receitameta.yml
, incluindo a biblioteca pandoc Haskell . Para obter mais informações, consulte PyPAAlém da adição do Novarchibald, geralmente é uma boa ideia criar um ambiente virtual para o seu projeto python e instalar dependências dentro dele. Isso permite que você tenha um melhor controle sobre as dependências e suas versões. Para configurar um ambiente virtual, digite:
Em seguida, ative-o com:
Nesse ponto, qualquer coisa que você instalar com o pip será mantida dentro desse ambiente virtual. Se você deseja instalar algo globalmente, primeiro saia do virtualenv com:
Você pode descobrir mais sobre o virtualenv aqui .
fonte
virtualenv
opções--no-site-packages
e--distribute
estão obsoletos hoje em dia e não têm efeito por mais tempo.Além da resposta do Zetah'a, o comando para instalar o python-pip a partir do terminal é:
fonte
Experimente isto Uma estrutura de GUI para PIP desenvolvida usando PyQt4
Uma estrutura de GUI para PIP desenvolvida usando PyQt4
A tela inicial
A tela inicial contém opções para um usuário selecionar o processo que ele deseja executar.
Pode-se também especificar a versão do python em que ele deseja que as operações sejam executadas.
O menu do arquivo tem uma opção para "Sair" (atalho: Ctrl + Q) e "Atualizar listas", que atualiza os arquivos de recursos que contêm dados do pacote.
A tela de instalação
A tela de instalação possui uma barra de pesquisa que o usuário pode usar para pesquisar e instalar os pacotes desejados.
A tela de atualização
A tela de atualização exibe a lista de pacotes desatualizados e que podem ser atualizados.
O Screem de desinstalação
A tela de desinstalação exibe a lista de pacotes que estão instalados no sistema do usuário e podem ser desinstalados.
A janela de progresso
A janela de progresso é um widget de terminal interno para PIP-GUI que exibe os processos em execução durante a execução de operações.
fonte