Question

Plusieurs versions de Python sont actuellement installées sur mon Mac, celle qui l'accompagne, une version que j'ai récemment téléchargée sur python.org, une version plus ancienne utilisée pour exécuter Zope localement et une autre version utilisée par Appengine. C'est un peu le bordel. Des recommandations pour utiliser une seule version de python pour les gouverner toutes? Comment puis-je supprimer les anciennes versions et relier toutes mes applications à une seule installation? Des pièges spécifiques à Mac que je devrais connaître? Est-ce une idée stupide?

Était-ce utile?

La solution

Il n’ya rien de mal à avoir plusieurs versions de Python. Parfois, c'est une nécessité lors de l'utilisation d'applications avec des dépendances de version. Le problème le plus important est probablement celui des dépendances site-package, qui peuvent varier d'une application à l'autre. Des outils tels que virtualenv peuvent y contribuer. Une pas chose à faire est d'essayer de supprimer le fichier Python fourni par Apple dans / System / Library / Frameworks et lié à / usr / bin / python. (Notez la discussion récente sur plusieurs versions ici .)

Autres conseils

Les virtualenv de Ian Bicking me permettent d'avoir des Pythons isolés pour chaque application que je construis, et me permettent décide d'inclure ou non les packages de site globaux dans l'environnement Python isolé.

Je n'ai pas essayé avec Zope, mais je suppose que ce qui suit devrait fonctionner correctement:

  1. Avec votre Python Zope, créez une nouvelle virtualenv, avec ou sans --no-site-packages
  2. Déposez votre Zope dans la virtualenv
  3. Activer l'environnement avec $ VENV / bin / activate
  4. Installez tous les packages de site nécessaires
  5. Lancez votre Zope en utilisant le python maintenant à $ VENV / bin / python

Cela a fonctionné à merveille pour la gestion de projets Django avec diverses versions de Python, Django et des add-ons.

Cet article semble aller plus en détail sur les spécificités de Grok et Virtualenv, mais les généralités devraient s’appliquer aussi bien à Zope.

+1 pour virtualenv.

Même si vous n'avez pas besoin de différentes versions de Python, il est toujours bon de séparer les dépendances de développement de votre système Python.

Je ne suis pas sûr du système d'exploitation que vous utilisez, mais je trouve ces instructions très utiles pour que les environnements de développement Python s'exécutent sous OSX.

L'approche que je préfère qui devrait fonctionner sur tous les systèmes d'exploitation de type UNIX:

Créez pour chaque application nécessitant une version python spécifique un compte utilisateur. Installez dans chaque utilisateur la version python correspondante avec un préfixe local (comme ~ / build / python) et ajoutez ~ / build / bin / à la variable d'environnement PATH de l'utilisateur. Installez / utilisez vos applications python avec le bon utilisateur.

L’avantage de cette approche est l’isolation parfaite entre les installations python individuelles et la sélection relativement pratique du bon environnement python (il suffit de su à l’utilisateur approprié). De plus, le système d'exploitation reste inchangé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top