1 votes

Mise à niveau de Python 2.7 vers 3.8 : Recommandé ?

Je cours macOS Big Sur 11.1 sur MacBook Air M1. Il est livré avec Python 3.9.1 pour une utilisation régulière et l'exécution de la commande python via le terminal indique que j'ai Python 2.7.16 pour la compatibilité avec les anciens logiciels.

Je veux installer TensorFlow qui nécessite spécifiquement Python 3.8. Donc, si je mets à niveau Python 2.7.16 vers Python 3.8, est-ce que cela causera des problèmes avec les anciens logiciels? Si non, est-ce une bonne idée de faire cette mise à niveau? Si oui, pouvez-vous s'il vous plaît me dire la procédure à suivre? Je ne trouve pas de pip installé sur ma machine mais il y a un pip3 pour travailler avec Python3.

De plus, existe-t-il un moyen de trouver la liste des logiciels/packages installés sur ma machine qui nécessitent Python 2.7.x pour fonctionner?

0 votes

python3 me donne 3.6.6

0 votes

Sur Big Sur 11.1, python3 n'est pas installé par défaut pour l'obtenir, vous avez besoin des outils de ligne de commande Xcode (macOS vous le dira si vous essayez de l'exécuter). Xcode donne mon python 3.8

3voto

yoliho Points 340

Un peu d'histoire

Python2 et 3 sont, à bien des égards, des langages distincts. Pour la configuration et l'utilisation, considérez-les certainement comme séparés. Cependant, le code que vous lisez et écrivez est très similaire.

Python 2 n'est plus pris en charge (par python.org) à partir du 1/1/20. Il n'y aura donc plus de corrections de bugs, etc. Vous ne devriez donc plus l'utiliser.

En raison de ces différences, vous avez besoin de versions de pip séparées. La manière standard sur macOS est que pip et python sont des liens vers les versions Python 2. python3 et pip3 sont les liens vers les versions Python 3.

Comme c'est souvent le cas avec les logiciels fournis avec macOS, vous ne mettez pas à jour les versions d'Apple. Cependant, vous pouvez installer d'autres versions en plus des versions d'Apple. En fait, l'avis normal des utilisateurs de Python est de ne pas utiliser les versions d'Apple mais d'en utiliser une autre.

Installation

Les alternatives sont l'installation via un gestionnaire de packages général tel que MacPorts, HomeBrew, Fink ou à partir des gestionnaires de bases de Python python.org ou j'utilise Conda, surtout si vous utilisez des outils comme numpy etc. (il a une version de tensorflow). python est désormais livré avec pyvenv et d'autres outils vous permettant de choisir quelle version utiliser pour un projet spécifique, conda dispose d'une façon similaire de le faire, macports a un lien simple permettant de choisir une version ou une autre globalement et non par projet.

Scripts existants

Il n'y a pas de méthode absolue pour savoir quels scripts utilisent python 2. Cependant, une hypothèse raisonnable est de regarder la première ligne de chaque fichier python pour voir l'invocation hash bang. Cela tend à être #!/usr/bin/python ou #!/usr/bin/env python pour les scripts qui utilisent python 2 - les scripts utilisant python3 auront un 3 dans la ligne.

Applications

Encore une fois, il n'y a pas de méthode cohérente.

Cependant, la recommandation d'Apple pour les applications qui utilisent un interprète ou un runtime est d'intégrer l'interprète dans le bundle de l'application - il revient donc au fournisseur de l'application de gérer les versions de Python, etc. et l'utilisateur n'a pas besoin de le faire et probablement ne devrait pas modifier la façon dont l'application est exécutée.

1voto

Scottmeup Points 2390

Vous pouvez installer Python 3.8 en utilisant homebrew. Les instructions pour installer homebrew se trouvent sur la page d'accueil de homebrew. Actuellement, les instructions consistent à entrer dans une fenêtre de terminal : /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Les instructions pour installer Python 3.8 se trouvent sur la page homebrew de Python 3.8. Une fois que vous avez installé homebrew, entrez dans une fenêtre de terminal brew install python@3.8

Cela ne remplacera pas vos installations de Python de base, il sera installé dans un emplacement séparé pour éviter de causer des problèmes avec les anciens logiciels stockés. Certains logiciels anciens peuvent nécessiter que vous spécifiiez explicitement le chemin complet de la version de Python dont ils ont besoin.

Je ne connais pas de méthode pour trouver tous les logiciels qui utilisent les versions de Python par défaut.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X