Je suis un programmeur Ruby essayant d'apprendre le python. Je suis une jolie famille avec pyenv car c'est comme un copier-coller de rbenv. Pyenv permet d'avoir plus d'une version de python dans un système et aussi d'isoler le python sans toucher la partie sensible du système.
Je suppose que chaque installation python est livrée avec le package pip. Ce que je ne comprends toujours pas, c'est qu'il existe de nombreuses bonnes bibliothèques python qui suggèrent d'utiliser ce virtualenv et anaconda. Je peux même trouver le plugin virtualenv pour pyenv.
Maintenant, je suis confus avec le but de ces deux pyenv et virtualenv. pire à l'intérieur de pyenv il y a un plugin virtualenv.
mes questions sont:
- quelle est la différence entre pyenv et virtualenv?
- Y a-t-il une différence dans l'utilisation de la commande pip à la fois dans pyenv et virtualenv?
- que fait ce pyenv virutalenv?
votre explication avec exemple sera très appréciée.
Réponses:
Edit: Il vaut la peine de mentionner
pip
ici aussi, commeconda
etpip
présentent des similitudes et des différences qui sont pertinentes à ce sujet .pip: le gestionnaire de packages Python.
pip
à l'équivalent python de lagem
commande rubypip
n'est pas inclus avec python par défaut.brew install python
sudo easy_install pip
gemfile
pip freeze > requirements.txt
pyenv: Gestionnaire de versions Python
pyenv
vous permet de gérer cela facilement.virtualenv: Gestionnaire d'environnement Python.
virtualenv
, appelez simplementvirtualenv ENV
, oùENV
est un répertoire pour placer le nouvel environnement virtuel.virtualenv
, vous devezsource ENV/bin/activate
. Pour arrêter d'utiliser, appelez simplementdeactivate
.virtualenv
, vous pouvez installer toutes les exigences de package d'un espace de travail en exécutantpip install -r
sur lerequirements.txt
fichier du projet .Anaconda: Package Manager + Environment Manager + Bibliothèques scientifiques supplémentaires.
conda install <packagename>
miniconda
version allégée , ce qui semble être une option plus simple que d'utiliserpip
+virtualenv
, bien que je n'ai pas d'expérience de l'utiliser personnellement.conda
vous puissiez installer des packages, ces packages sont distincts des packages PyPI, vous devrez donc peut-être utiliser pip en plus selon les types de packages que vous devez installer.Voir également:
la source
Analogie simple:
Depuis que j'utilise python3, je préfère l'environnement virtuel intégré python3 nommé venv . venv est simple et facile à utiliser. Je vous recommande de lire ses documents officiels. La doc est courte et concise.
Dans ruby, nous n'avons pas vraiment besoin d'un environnement virtuel car le bundler s'en charge. L'environnement virtuel et le bundler sont excellents, mais ils ont un concept différent mais ils essaient de résoudre le même problème.
la source