2017-11-02 1 views
0

Wie kann man mehrere Python-Installationen (langfristig) am besten verwalten, wenn ich Python 3 bereits über brew installiert habe? In der Vergangenheit wurden Python-Versionen hier, dort und überall installiert, da ich verschiedene Tools zur Installation verschiedener Updates verwendete. Wie Sie sich vorstellen können, wurde dies zu einem Problem.Verwaltung mehrerer Python-Versionen unter OSX

Ich war einmal in einer Situation, in der ein in einem meiner Projekte verwendetes Paket nur mit Python 3.4 arbeitete, aber ich hatte kürzlich auf 3.6 aktualisiert. Mein Code lief nicht mehr, und ich musste das System nach Python 3.4 durchsuchen, um das Projekt tatsächlich zu starten. Es war eine riesige PITA.

Ich habe kürzlich meinen Computer gewischt und möchte einige meiner vergangenen Fehler vermeiden. Vielleicht ist das naiv, aber ich möchte die Installation der Version auf brauen beschränken. (Wenn das nicht unsensibel ist - ich bin offen für andere Vorschläge!) Außerdem würde ich gerne wissen, wie ich meine früheren Versionsverwaltungs-Probleme lösen kann (d. H. Situationen wie die obige). Ich habe von Pyenv gehört, aber würde das mit Brauen in Konflikt geraten?

Danke!

+0

Haben Sie sich Conda angesehen? https://conda.io/docs/ – disflux

+0

Ich sollte hinzufügen, dass ich Conda verwende, da es nicht nur für Python spezifisch ist. Sobald Sie Miniconda installiert haben, sind die Befehle einfach: conda create -n my_env_name python = 3.6. Sie betreten die Umgebung dann mit: source activate my_env_name. Darüber hinaus unterhält continuum eine Reihe vorkompilierter Bibliotheken wie NumPy, die Sie über ihr Repo (conda install numpy) installieren können. Dies ist wesentlich schneller als eine Pip-Installation. – disflux

Antwort

2

Verwenden Sie virtualenvs, um Paketkonflikte zwischen unabhängigen Projekten zu reduzieren. Nach der Aktivierung des Programms pip verwenden, um Pakete zu installieren. Auf diese Weise hat jedes Projekt eine unabhängige Sicht auf den Bauraum.

Ich benutze brew, um Python 2.7 und 3.6 zu installieren. Das venv-Dienstprogramm von jedem von diesen wird eine 2 oder 3 venv beziehungsweise bauen.

Ich habe auch Pyenv installiert von brew, die ich verwende, wenn ich eine bestimmte Version, die nicht die neueste in Gebräu ist. Nachdem ich eine bestimmte Version in einem Verzeichnis aktiviert habe, erstelle ich dann ein venv und nutze dies, um die Paketisolierung zu verwalten.

Ich kann nicht wirklich sagen, was das Beste ist. Mal sehen, was andere Leute sagen.

0

Ich stimme der Verwendung von virtualenv zu, damit Sie verschiedene Python-Versionen für verschiedene Projekte und Clients getrennt verwalten können. Dies ermöglicht grundsätzlich, dass jedes Projekt eigene Abhängigkeiten hat, die von anderen isoliert sind.

Verwandte Themen