Eu sou um programador de rubi tentando aprender python. Eu sou bonita família com pyenv, pois é como copiar e colar de rbenv. O Pyenv ajuda a permitir ter mais de uma versão do python em um sistema e também isolar o python sem tocar em parte sensível do sistema.
Suponho que toda instalação python vem com o pacote pip. O que eu ainda não entendo é que existem muitas boas bibliotecas python por aí que sugerem o uso deste virtualenv e anaconda. Eu posso até encontrar o plugin virtualenv para pyenv.
Agora estou ficando confuso com o objetivo desses dois pyenv e virtualenv. pior dentro do pyenv existe um plugin virtualenv.
minhas perguntas são:
- qual é a diferença entre pyenv e virtualenv?
- Existe alguma diferença no uso do comando pip dentro de pyenv e virtualenv?
- o que esse pyenv virutalenv faz?
sua explicação com o exemplo será muito apreciada.
Respostas:
Editar: vale a pena mencionar
pip
aqui também,conda
epip
possui semelhanças e diferenças relevantes para este tópico .pip: o Gerenciador de Pacotes Python.
pip
como o equivalente python dogem
comando rubypip
não está incluído no python por padrão.brew install python
sudo easy_install pip
gemfile
pip freeze > requirements.txt
pyenv: Gerenciador de versões do Python
pyenv
permite gerenciar isso facilmente.virtualenv: Gerenciador de ambiente Python.
virtualenv
, basta chamarvirtualenv ENV
, whereENV
is é um diretório para colocar o novo ambiente virtual.virtualenv
, você precisasource ENV/bin/activate
. Para parar de usar, basta ligardeactivate
.virtualenv
, você pode instalar todos os requisitos de pacote de um espaço de trabalho executandopip install -r
norequirements.txt
arquivo do projeto .Anaconda: Gerenciador de Pacotes + Gerenciador de Ambiente + Bibliotecas Científicas Adicionais.
conda install <packagename>
miniconda
versão reduzida , que parece ser uma opção mais simples do que usar opip
+virtualenv
, embora eu não tenha experiência em usá-lo pessoalmente.conda
permita a instalação de pacotes, esses pacotes são separados dos pacotes do PyPI, portanto, você ainda pode precisar usar o pip adicionalmente, dependendo dos tipos de pacotes que você precisa instalar.Veja também:
fonte
Analogia simples:
Como uso python3, prefiro o ambiente virtual interno python3 chamado venv . O venv é simples e fácil de usar. Eu recomendo que você leia os documentos oficiais. O documento é breve e conciso.
Em ruby, não precisamos realmente de um ambiente virtual porque o empacotador cuida dele. O ambiente virtual e o empacotador são ótimos, mas têm um conceito diferente, mas tentam resolver o mesmo problema.
fonte