Frage

Ich habe zur Zeit mehrere Versionen von Python auf meinem Mac installiert haben, die, die mit ihm kamen, eine Version, die ich vor kurzem von python.org heruntergeladen haben, eine ältere Version laufen Zope lokal und eine andere Version verwendet, die appengine verwendet. Es ist so eine Art Chaos. Alle Empfehlungen der Verwendung einer Version von Python, sie alle zu regieren? Wie würde ich über gelöschte ältere Versionen gehen und die Verknüpfung all meine apps zu einem einzigen installieren. Jeder Mac spezifische gotchas ich sollte wissen? Ist dies eine dumme Idee?

War es hilfreich?

Lösung

Es ist nichts falsch mit um mehrere Versionen von Python hat. Manchmal ist es eine Notwendigkeit, wenn Anwendungen mit Versionsabhängigkeiten verwenden. Wahrscheinlich das größte Problem beschäftigt sich mit Website-Paket-Abhängigkeiten, die von App zu App variieren. Tools wie virtualenv kann es helfen. Eine Sache sollten Sie nicht Versuchen ist es, die von Apple bereitgestellten Python in / System / Library / Frameworks und von / usr / bin / python verknüpft zu entfernen. (Beachten Sie die aktuelle Diskussion mehrerer Versionen hier .)

Andere Tipps

Ian Bicking virtualenv ermöglicht es mir, für jede Anwendung isoliert Pythons haben ich bauen, und lässt mich entscheiden, ob die globalen Website-Pakete in der isolierten Python-Umgebung aufzunehmen.

Ich habe es nicht mit Zope versucht, aber ich nehme an, dass die folgende sollte gut funktionieren:

  1. Verwenden von Python Ihrer Zopes, macht einen neuen virtualenv, entweder mit oder ohne --no-site-packages
  2. Lassen Sie Ihre Zope in die virtualenv
  3. Aktivieren Sie die Umgebung mit $ VENV / bin / aktivieren
  4. Installieren Sie alle benötigten site-packages
  5. Führen Sie Ihre Zope die Python jetzt bei $ VENV / bin / python
  6. mit

Das ist brillant für die Verwaltung von Django Projekten arbeitet mit verschiedenen Versionen von Python, Django und Add-ons.

diesem Artikel scheint auf den Besonderheiten der Grok und virtualenv mehr ins Detail zu gehen, aber die Allgemeinheiten Zope als welll gelten sollten.

1 für virtualenv.

Auch wenn Sie nicht andere Python-Versionen brauchen, es ist immer noch gut, um Ihre Entwicklung Abhängigkeiten von Ihrem System Python trennen zu halten.

Ich bin nicht sicher, was OS Sie verwenden, aber ich finde, diese Anweisungen sehr nützlich, um Umgebungen python Entwicklung auf OSX ausgeführt wird.

Der Ansatz, den ich lieber, die auf jedem UNIX-ähnliches Betriebssystem funktionieren soll:

Für jede Anwendung erstellen, die eine bestimmte Python-Version ein Benutzerkonto benötigen. in jedem Benutzer Installieren der entsprechenden Python-Version mit einem Benutzer-lokalen Präfix zählen (wie ~ / build / Python) und fügen ~ / build / bin / auf die Umgebungsvariable PATH des Benutzers. Installieren / benutzen, um Ihre Python-Anwendungen in ihren korrekten Benutzer.

Der Vorteil dieses Ansatzes ist die perfekte Isolation zwischen den einzelnen Python-Installationen und relativ bequemer Auswahl der richtigen Python-Umgebung (nur an dem entsprechenden Benutzer su). Auch das Betriebssystem bleibt unberührt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top