Comment puis-je installer une version précédente de Python 3 dans macOS à l'aide de brew?
Avec la commande, brew install python
j'ai la dernière version de Python 3 (actuellement v3.7.0), mais je veux la dernière version de Python 3.6 (actuellement 3.6.5).
J'ai lu un autre package pyenv
qui peut aider à gérer différentes installations de python, mais cette solution ne me convient pas.
Réponses:
Réponse courte
Pour effectuer une installation propre de Python 3.6.5, utilisez:
Si vous préférez récupérer une version précédemment installée, alors:
Longue réponse
Il existe deux formules pour installer Python avec Homebrew:
python@2
etpython
.Le premier est pour Python 2 et le second pour Python 3.
Remarque: vous pouvez trouver des réponses obsolètes sur le Web où il est mentionné
python3
comme nom de formule pour l'installation de Python version 3. Maintenant, c'est justepython
!Par défaut, avec ces formules, vous pouvez installer la dernière version de la version majeure correspondante de Python. Ainsi, vous ne pouvez pas installer directement une version mineure comme la 3.6.
Solution
Avec
brew
, vous pouvez installer un package en utilisant l'adresse de la formule, par exemple dans un référentiel git.Ou spécifiquement pour Python 3
L'adresse que vous devez spécifier est l'adresse du dernier commit de la formule (python.rb) pour la version souhaitée. Vous pouvez trouver l'identifiant de commint en consultant l'historique de homebrew-core / Formula / python.rb
https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
Python> 3.6.5
Dans le lien ci-dessus, vous ne trouverez pas de formule pour une version de Python supérieure à 3.6.5. Une fois que les responsables de ce référentiel (officiel) ont publié Python 3.7, ils ne soumettent que des mises à jour de la recette de Python 3.7.
Comme expliqué ci-dessus, avec homebrew, vous n'avez que Python 2 (python @ 2) et Python 3 (python), il n'y a pas de formule explicite pour Python 3.6 .
Bien que ces mises à jour mineures ne soient pour la plupart pas pertinentes dans la plupart des cas et pour la plupart des utilisateurs, je chercherai si quelqu'un a fait une formule explicite pour 3.6.
la source
Error: python 3.7.0 is already installed To install 3.6.5_1, first run
brew unlink python '' lors de l'utilisation de la `` réponse courte ''.En guise de mise à jour, en faisant
Vous pouvez rencontrer
Pour le contourner, ajoutez l'
--ignore-dependencies
argument à brew install.la source
Ce que j'ai fait, c'est d'abord installer python 3.7
puis j'ai installé python 3.6.5 en utilisant le lien ci-dessus
Après cela, j'ai couru
brew link --overwrite python
. Maintenant, j'ai tous les pythons dans le système pour créer les environnements virtuels.Pour créer un environnement virtuel Python 3.7.
Pour créer un environnement virtuel Python 3.6
la source
python -V && python3.7 -V && python3 -V && python3.6 -V
Python 2.7.15 Python 3.7.3 Python 3.7.3 zsh: command not found: python3.6
python3 -V
deux fois c'est pourquoi vous obtenez3.7.3
deux fois et3.6
python3.6
sous/usr/local/Cellar/python/3.6.5_1/bin
. Une fois que j'ai fait un lien, cela fonctionne comme vous le dites. Ce système d'autogestion python semble être une fractale rube goldberg d'un million de programmeurs codant par mouvement brownien.J'ai essayé toutes les réponses ci-dessus pour installer Python 3.4.4. L'installation de python a fonctionné, mais PIP ne serait pas installé et je ne pourrais rien faire pour le faire fonctionner. J'utilisais Mac OSX Mojave, ce qui posait des problèmes avec zlib, openssl.
Ce qu'il ne faut pas faire:
Solution:
ps: Vous n'avez pas à désinstaller votre autre version de Python sur votre système.
Éditer:
J'ai trouvé une bien meilleure solution qui fonctionne sur MacOSX, Windows, Linux, etc.
conda init
conda create -n [NameOfYour VirtualEnvironment] python=3.4.4
conda info --envs
conda activate [The name of your virtual environment that was shown with the command at step 5]
la source
J'ai tout essayé mais je n'ai pas pu le faire fonctionner. Enfin je l'ai utilisé
pyenv
et cela a fonctionné directement comme un charme.Alors après avoir
homebrew
installé, il suffit de faire:pour gérer les virtualenvs:
Voir pyenv et pyenv-virtualenv pour plus d'informations.
MODIFIER (2019/03/19)
J'ai trouvé qu'il était plus facile d' utiliser pyenv-installer que homebrew pour installer les direclty pyenv et pyenv-virtualenv:
Pour gérer la version python, soit globalement:
ou localement dans un répertoire donné:
la source
virtualenv
approche.pyenv
vous permet de gérer les versions de python sans avoir besoin d'utiliser un venvAu cas où quelqu'un serait confronté à un problème de pip comme ci-dessous
La cause première est qu'openssl 1.1 ne prend plus en charge python 3.6. Vous devez donc installer l'ancienne version openssl 1.0
voici la solution:
la source
Pour résoudre ce problème avec
homebrew
, vous pouvez temporairement antidaterhomebrew-core
et définir laHOMEBREW_NO_AUTO_UPDATE
variable pour la maintenir en place:Je ne recommande pas la rétro-datation permanente de homebrew-core, car vous manquerez de correctifs de sécurité, mais c'est utile à des fins de test.
Vous pouvez également extraire d'anciennes versions de formules homebrew dans votre propre tap (tap_owner / tap_name) en utilisant la
brew extract
commande:la source
Le moyen le plus simple pour moi était d'installer Anaconda: https://docs.anaconda.com/anaconda/install/
Là, je peux créer autant d'environnements avec différentes versions de Python que je veux et basculer entre eux en un clic de souris. Il ne pouvait pas être plus facile.
Pour installer différentes versions de Python, suivez simplement ces instructions https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html
Un nouvel environnement de développement avec une version différente de Python a été réalisé en 2 minutes. Et à l'avenir, je peux facilement basculer entre les deux.
la source