Für die Entwicklung in Python verwende ich Miniconda auf meinem Mac mit Macos Sierra. Allerdings muss ich ein Framework verwenden, das nur mit dem Standard-Python (vorhanden bei /usr/bin/python
) arbeitet.
Meine Frage ist: Wie kann ich Pakete für dieses Standard-Python installieren? Wenn ich pip some-package
verwende, installiert dies automatisch das Paket für die root conda-Umgebung.
BEARBEITEN: Wie in den Kommentaren besprochen, stimme ich zu, dass es eine schlechte Idee ist, sich mit der Systemstandardversion von Python herumzuschlagen. Stattdessen möchte ich, dass dieses SDK in einer Conda-Umgebung oder mit Python 2.7 von python.org installiert wird. Nichts davon scheint jedoch zu funktionieren! Wie funktioniert das?
Sie versuchen nicht, das Paket any zu installieren. Sie versuchen, das sehr spezifische Paket pynaoqi
zu installieren, für das ein externes SDK erforderlich ist, das für die spezifische Architektur kompiliert wird. Sie sollten Ihre Frage entsprechend bearbeiten.
Nach dem, was ich im Internet gesehen habe, ist das keine triviale Aufgabe. Stellen Sie zuerst sicher, dass Sie die Version 2.5 des SDKs haben, die zur MacOS-Version passt . Dann schau dir dieses Skript an . Wie sie sagen, sollten die dynamischen Bibliotheken umbenannt werden, um zu arbeiten. Übrigens brauchen Sie 64-Bit Python 2.7.
Um Pakete mit dem System Python zu installieren, können Sie /usr/bin/easy_install
benutzen, das zu MacOS gehört.
Vielleicht möchten Sie pip installieren von dort, indem Sie:
%Vor% Sobald Sie pip
installiert haben, können Sie es nicht direkt verwenden, wenn der Befehl conda pip
es überschattet. Sie haben hier mehrere Optionen, abhängig von Ihrem Geschmack. Sie können den System-Pip auf alias systempip=/usr/bin/pip
umbenennen oder /usr/bin
vor /Users/user/anaconda/
in Ihrem $PATH
haben.
Wie bereits in anderen Antworten erwähnt, wird das Python-System nicht empfohlen , Dinge können brechen a>, und Sie können (am meisten) sicher jedes Paket erhalten, um in einer Conda-Umgebung zu arbeiten.
Einige Pakete funktionieren für einige Leute nicht ohne weiteres mit Anacondas Python, weil die Distribution standardmäßig auf einen nicht-Framework-Build von Python basiert. Eine häufige Beschwerde kam zum Beispiel von Benutzern von matplotlib, die keine Figurfenster richtig anzeigen konnten . Zum Glück bietet Conda auch einen Framework-Build von Python namens pythonw
oder pythonw3
. Vielleicht können Sie versuchen, Ihr Paket mit pythonw
arbeiten zu lassen, wenn Ihre Probleme von dort kommen.
pip some-package
installiert für die root anaconda-Umgebung, weil es pip aus der anaconda-Bibliothek verwendet. Anaconda fügt anaconda root dir zu path
vor / usr / bin / hinzu. Wenn du also pip benutzt, findest du es auf der Anaconda-Wurzel. check Pfad von Pip mit which pip
, dies wird Ihnen den vollständigen Pfad von pip sagen.
Sie können es auf Standard-Python mit /usr/bin/python -m pip install some-package
installieren. oder verwende /path/to/default/pip install some-package
.
Das häufig auftretende Problem ist, dass Anaconda (oder Miniconda) in ihrem Verzeichnis bin eine ausführbare Datei python
und eine ausführbare Datei pip
hat.
Wenn Sie / usr / bin / python wirklich ausführen müssen, führt dies zu der ärgerlichen Schlussfolgerung: Sie können conda nicht in Ihren Pfad einfügen .
Das hat mich zu einigen nervigen Machenschaften in meinem .bash_profile
geführt. Sie können die gleichen Techniken für Sie verwenden, aber der genaue Pfad zu conda kann abweichen:
Option 2:
Möglicherweise müssen Sie nur die gleiche Version oder PYTHONPATH als / usr / bin / python ausführen. Dann erstellen Sie eine Conda-Umgebung mit dieser Version:
%Vor%oder, setze einen PYTHONPATH
%Vor%Option 3:
Deinstallieren Sie Conda. Es ist ein gutes Werkzeug für eine Reihe von Problemen, die nicht Ihre aktuellen Probleme sind.
Ich habe auch einen Mac mit Sierra.
Annahme: Nehmen wir an, Sie haben Anaconda. Jetzt hätten Sie DefaultPython (python2) und sagen, dass Anaconda von Python3 ist.
Secret: Die Art und Weise, wie eine Shell / Standard-Python ausgewählt wird, ist mit der PATH-Variablen in einer Shell festgelegt. Wenn Sie also Anaconda installieren, sollte der Installer versuchen, neue Pfadvariablen für Ihre Standard-Bash-Shell festzulegen.
Lösung: Verfügen über einen Python (2 oder 3) als Standard. Versuchen Sie für den weniger verwendeten Pfad den vollständigen Pfad zu verwenden. Wenn Sie
verwenden müssen Cheat-Code : Erstelle /usr/bin/python
als symbolischen Link zum aktuellen Repo des Pythons (speichere den alten). Dies kann entsprechend Ihrer Verwendung geändert werden.
Hoffe, das funktioniert!
Ich bin mir nicht sicher, ob ich dein Problem richtig verstanden habe, aber wenn das Problem ist, dass du leicht zwischen verschiedenen Versionen von Python wie System Python, anderen Versionen von Python, verschiedenen Versionen von Miniconda oder Anaconda, die an bestimmte Versionen von Python gebunden sind, wechseln willst (das sind nicht nur virtuelle Umgebungen) auf Ihrem Mac, dann ist die beste Lösung pyenv .
Es verbindet sich automatisch mit den aktuellen /usr/bin/python
, /usr/bin/pip
und anderen Binärdateien, wie zB ipython
, abhängig vom Kontext. Es gibt verschiedene Optionen für den Kontext, aber ich verwende normalerweise system python als Standard und pyenv local
für jedes Projekt, das im Grunde eine Datei mit dem Versionsnamen in Ihrem aktuellen Verzeichnis und jedesmal cd
im Verzeichnis oder seinen Unterverzeichnissen ablegt /usr/bin/python
wird automatisch auf die ausgewählte Version umgeschaltet.
Sie müssen Ihre PATH-Umgebungsvariable verwalten. Ich möchte Funktionen in meinem Shell-Profil behalten, um "on" und "off" zu schalten. Also, auf einem Mac zum Beispiel:
%Vor% Wenn Sie dann aufhören wollen, conda zu verwenden, geben Sie einfach deactconda
an der Eingabeaufforderung ein.
Sie können dies auf mehrere Arten tun, indem Sie zunächst den Pfad zum Pip an Ihrem Standardspeicherort angeben,
%Vor%zum Beispiel, wenn Sie ein Python 2.7 dann haben,
sudo /usr/local/bin/pip2.7 install networkx
Dies sollte den Trick für Sie tun. Danach können Sie alle Pakete installieren und sie mit Standard-Python aufrufen (meins ist 2.7 hier)
ab der Pip-Version 0.8 können Sie auch sudo /usr/local/bin/pip-2.x install package
sowie