2009-08-02 18 views
21

Mam na Macu zainstalowanych wiele wersji Pythona, wersji, którą pobrałem niedawno z python.org, starszej wersji używanej do uruchamiania Zope lokalnie i innego wersja, której używa Appengine. To trochę bałagan. Wszelkie zalecenia dotyczące używania jednej wersji Pythona, aby rządzić nimi wszystkimi? W jaki sposób chciałbym usunąć starsze wersje i połączyć wszystkie moje aplikacje do pojedynczej instalacji. Jakieś specyficzne dla komputerów Mac, o których powinienem wiedzieć? Czy to głupi pomysł?Wiele wersji Pythona na systemie OS X Leopard

+0

Przeczytaj ten wpis na blogu: http://farmdev.com/thoughts/66/python-3-0-on-mac-os-x-alongside-2-6-2-5-etc-/ –

Odpowiedz

20

Nic nie jest nie w porządku z posiadaniem wielu wersji Pythona. Czasami jest to konieczne podczas korzystania z aplikacji z zależnościami wersji. Prawdopodobnie największym problemem jest radzenie sobie z zależnościami między pakietami, które mogą się różnić w zależności od aplikacji. Narzędzia takie jak virtualenv mogą w tym pomóc. Jedną rzeczą, którą powinieneś zrobić, to: nie do do czynienia z próbą usunięcia dostarczonego przez Apple Pythona w/System/Library/Frameworks i połączenia z/usr/bin/python. (Uwaga niedawną dyskusję nad wieloma wersjami here.)

+1

+1 na virtualenv. Połączyłem się ze stroną domową virtualenv. –

1

podejścia Wolę który powinien działać na każdym UNIXopodobnych systemu operacyjnego:

Tworzenie dla każdej aplikacji, które potrzebują konkretnej wersji Pythona konto użytkownika. Zainstaluj dla każdego użytkownika zlicz odpowiednią wersję pythona z prefiksem lokalnym użytkownika (jak ~/build/python) i dodaj ~/build/bin/do zmiennej środowiskowej PATH użytkownika. Zainstaluj/użyj swoich aplikacji Pythona w swoim poprawnym użytkowniku.

Zaletą tego podejścia jest idealna izolacja pomiędzy poszczególnymi instalacjami python i stosunkowo wygodny wybór właściwego środowiska python (tylko su dla odpowiedniego użytkownika). Również system operacyjny pozostaje nietknięty.

9

Ian Bicking's virtualenv pozwala mi izolować Pythony dla każdej aplikacji, którą buduję, i pozwala mi zdecydować, czy włączyć globalne pakiety site w izolowanym środowisku Pythona.

nie próbowałem go z Zope, ale zgaduję, że następujące powinny działać ładnie:

  1. Korzystanie z komputera za Zope Python, nawiązać nowe virtualenv, z lub bez --no-site -packages
  2. Rzuć Zope do virtualenv
  3. Aktywuj środowisko z $ VENV/bin/aktywować
  4. Zainstaluj wszystkie potrzebne site-packages
  5. uruchomić za pomocą Zope Python teraz na $ VENV/bin/python

To działało znakomicie do zarządzania projektami Django z różnymi wersjami Pythona, Django i dodatków.

This article wydaje się bardziej szczegółowo omawiać specyfikę Grok i Virtualenv, ale ogólniki powinny odnosić się do Zope as welll.

2

+1 dla virtualenv.

Nawet jeśli nie potrzebujesz różnych wersji Pythona, nadal dobrze jest zachować zależności programistyczne od systemu Python.

Nie jestem pewien, jakiego systemu operacyjnego używasz, ale uważam, że instrukcje these są bardzo przydatne do pobierania środowisk programistycznych Pythona działających na OSX.

Powiązane problemy