Anaconda vs. EPD Enthought vs. instalação manual do Python [fechado]

112

Quais são os méritos / desvantagens relativos de vários pacotes Python (EPD / Anaconda) em comparação com uma instalação manual?

Eu instalei o EPD Acadêmico e não tenho problemas com isso. Ele fornece mais pacotes dos quais eu acho que precisarei, e é muito fácil de atualizar usando o enpkg enstaller. A licença acadêmica EPD requer renovação anual e a versão gratuita não faz atualizações tão facilmente.

No momento, eu realmente uso apenas um punhado de pacotes como Pandas , NumPy , SciPy , matplotlib , IPython , Statsmodels e suas respectivas dependências.

Para tal uso limitado, estou melhor com a instalação manual e pip install --upgrade 'package'ou os pacotes oferecem algo além disso?

John
fonte
2
Veja também Python (x, y). Ele tem um público-alvo semelhante ao Enthought Python, mas não custa nada. code.google.com/p/pythonxy
Eike
1
Acho que depende do sistema operacional que você está usando. Qual é o seu
Andrea Zonca de
5
Uma vantagem de usar o Anaconda, mesmo no Ubuntu, é que você pode facilmente ter uma instalação gerenciada como um usuário não root. Ou você pode ter vários ambientes com muitas versões de qualquer pacote no mesmo sistema usando o gerenciador de pacotes conda, que está no coração da distribuição do Anaconda.
Travis Oliphant
5
Além disso, para sua informação, o Anaconda é totalmente gratuito para todos, acadêmicos e comerciais. Existem licenças gratuitas disponíveis para acadêmicos dos complementos do Continuum, que são uma coisa separada do próprio Anaconda.
Travis Oliphant
1
Aqui estão alguns "fatos": Testei alguns cálculos de matriz simples (produtos de ponto de matriz, inversões) usando numpy em anaconda vs vanilla python 2.7. O interpretador vanilla usa apenas 1 thread do meu laptop, que tem 4 núcleos e 8 threads, enquanto o anaconda usa todos os 8 threads. Portanto, a velocidade é cerca de 7 vezes mais rápida no anaconda.
Jason

Respostas:

48

Atualização 2015 : Hoje em dia sempre recomendo o Anaconda. Inclui muitos pacotes Python para computação científica, ciência de dados, desenvolvimento web, etc. Também fornece uma ferramenta de ambiente superior conda, que permite alternar facilmente entre ambientes, mesmo entre Python 2 e 3. Também é atualizado muito rapidamente assim que conforme uma nova versão de um pacote é lançada, você pode apenas fazer conda update packagenamepara atualizá-lo.

Resposta original abaixo :

No Windows, o que é complicado é compilar os pacotes matemáticos, então acho que a instalação manual é uma opção viável apenas se você estiver interessado apenas em Python, sem outros pacotes.

Portanto, é melhor escolher EPD (agora Canopy) ou Anaconda.

O Anaconda tem cerca de 270 pacotes, incluindo os mais importantes para a maioria das aplicações científicas e análise de dados, ou seja, NumPy , SciPy , Pandas , IPython , matplotlib , Scikit-learn . Então, se isso for o suficiente para você, eu escolheria o Anaconda.

Em vez disso, se você estiver interessado em outros pacotes, e ainda mais se você usar qualquer um dos pacotes Enthought ( Chaco, por exemplo, é muito útil para visualização de dados em tempo real), então EPD / Canopy é provavelmente uma escolha melhor. A versão Academic possui um número maior de pacotes na instalação básica e muitos mais no repositório. O Anaconda também inclui o Chaco.

Andrea Zonca
fonte
1
Estou olhando para esta mesma questão agora. Você afirma que o Canopy inclui mais pacotes, isso significa que não é possível instalar esses outros pacotes no anaconda? Parece bobagem me limitar a não saber se daqui a 2 anos preciso de um determinado pacote.
Dominik
3
espero que em 2 anos você atualize seu sistema operacional ou instalações de python ... de qualquer maneira, sim, você pode instalar todos os pacotes adicionais de python em qualquer distribuição de python que você escolher. Para pacotes somente python, isso é muito simples. Para pacotes que incorporam extensões C ou C ++ (pacotes científicos geralmente) isso é mais difícil, especialmente no Windows, então é melhor pensar com antecedência.
Andrea Zonca
13
FWIW, Anaconda também inclui Chaco e inclui muito mais do que apenas 20 pacotes: docs.continuum.io/anaconda/pkgs.html (Ainda mais estão disponíveis no repo e não empacotados com o instalador.)
Peter Wang
3
Também FWIW, o Anaconda agora tem boas informações conda-meta / pkg * em todos os 100 pacotes ímpares: requer, versão ... ( conda-requer resume todos os requeridos.)
denis
3
Tenho tentado configurar o python para mineração de dados no meu Mac. Ainda não resolvi esse problema, mas a parte mais decepcionante até agora foi instalar o Enthought Canopy Express e, em seguida, descobri que eles cobram US $ 199 pelo acesso ao scikit-learn e ao nltk.
rrs
11

Tentei várias distribuições do Windows no ano passado, tentando encontrar uma adequada para o meu ambiente de trabalho (atrás de um proxy, mas sem acesso à configuração de proxy).

Aqui está meu feedback de experiência:

EPD / Canopy: Tínhamos uma licença de EPD, mas era antiga e não foi possível atualizar por causa da situação estranha do proxy. Para adicionar alguns pacotes (como a versão recente do xlrd / xlwt ), compilei a partir do código-fonte. Para atualizar o SciPy e o NumPy , usei o instalador pré-compilado de http://www.lfd.uci.edu/~gohlke/pythonlibs/ , mas às vezes atrapalhava a compatibilidade. Eu adorava ter um Py2exe e Cython totalmente configurados , e simplesmente funcionou fora da caixa.

Depois de um tempo, tentei instalar a versão gratuita do Canopy, mas faltava Cython e py2exe e alguns pacotes avançados específicos de que eu precisava, então nunca usei realmente. Alguns de meus colegas compraram a licença Canopy completa, mas ainda não temos certeza de como eles vão atualizar ...

Python (x, y): Não querendo lutar com as licenças, instalei o Python (x, y) em casa. A única desvantagem que notei agora é que a instalação padrão requer que você selecione quais pacotes deseja. É um ponto bom e ruim, porque não posso ter certeza de que meus clientes terão exatamente a mesma configuração que eu tenho quando instalo. (O conjunto de ferramentas Enthought pode ser instalado em Python (x, y).) Depois de usar Python (x, y) por um tempo, acabei de notar que instalei a versão de 32 bits. Embora não esteja claro em seu site, parece que eles não têm uma versão de 64 bits em julho de 2015. Vou desinstalá-lo e obter uma distribuição de 64 bits.

Anaconda: Quando escrevi isso pela primeira vez, o Anaconda ainda não parecia ter pacotes suficientes. Alguns anos depois, parece muito melhor, vou tentar!

Manual: para evitar problemas de compatibilidade de versão com nossa versão EPD antiga, acabei usando a instalação manual do Python e adicionando pacotes adicionais do site LFD com link acima. Funciona muito bem, mas ainda assim sugiro Canopy para um novo usuário que requer pacotes avançados (como GDAL ou PyFITS ).

Resumo: Se você escolher Canopy, obtenha a licença completa (acadêmica ou adquirida). Caso contrário, vá com Python (x, y), vai acabar sendo o mesmo.

No Ubuntu: Não há necessidade de distribuição. É tudo relativamente recente (+/- 6 meses é tolerável) e pré-compilado. Você só precisa executar sudo apt-get install python python-scipye pronto ! Os pacotes mais avançados também estão lá.

PhilMacKay
fonte
Ei Rafael, você tem olhado para o Anaconda ultimamente? Percorreu um longo caminho.
Peter Wang
download do pythonxy - não está no endereço esperado, que é apenas um domínio estacionado no momento.
pbhj
Usar o repositório ubuntu python / scipy etc ... (instalado com apt) é bom, mas está sempre algumas versões atrás, o que pode ser uma dor, pois perde correções de bugs e novos recursos úteis. Normalmente, prefiro instalar com pip e obter as versões estáveis ​​mais recentes.
drevicko
4

As outras respostas cobrem o terreno muito bem, então eu só quero comentar sobre um aspecto particular que ninguém mencionou ainda. Provavelmente é um nicho, mas pode potencialmente fazer ou quebrar o Anaconda ou Canopy para algumas pessoas em sistemas Linux:

As compilações do Anaconda Python usam o modo Unicode UCS4, enquanto o Enthought Canopy usa o UCS2.

O que isso significa em termos práticos é que se você confiar em quaisquer extensões que não possa compilar por qualquer motivo (por exemplo, bibliotecas proprietárias pré-compiladas), se acontecer de elas não terem sido construídas para uma versão Python com o mesmo modo, você pode ou mais tarde, encontrar erros semelhantes a undefined symbol: PyUnicodeUCS4_AsUTF8String.

De acordo com o PEP 0513 , o UCS4 parece ser atualmente mais popular e recomendado. Além disso, todos os problemas de compatibilidade do UCS parecem afetar apenas as versões 2.xe <3.3.

Dologan
fonte
Isso é realmente útil para saber. Obrigado!
pysolver
-4

Usei Anaconda por anos e gostei bastante. Infelizmente, o IPython Notebook (agora Jupyter ) não está disponível sem a edição corporativa.

Quero usar cadernos Jupyter na sala de aula, então mudei para Canopy. Parece fácil instalar todos os pacotes de que precisamos. É certo que não testamos todos eles.

JLeC
fonte
1
Pelo menos meu Jupyter Notebook ainda funciona com a versão padrão (gratuita) do Anaconda. Você poderia explicar onde obteve essa informação? Pelo menos na página inicial oficial do Anaconda, o Jupyter ainda está listado.
MSeifert
2
Isso não é verdade. Jupyter / IPython sempre esteve disponível no Anaconda grátis. FWIW, Continuum Analytics (o criador do Anaconda) emprega vários desenvolvedores de núcleo Jupyter.
Peter Wang
Corrija sua resposta errada. O site do ipython ainda informa como instalar usando o Anaconda: ipython.org/install.html
Bradley Kreider