Verwenden Sie Anaconda-Python, das mit pyenv von openFrameworks installiert wurde

Ich möchte pyenvs Python verwenden, während ich Add-Ons verwende

Um Python normalerweise mit Software zu verwenden, die mit openFrameworks erstellt wurde, Chaosct's ofxPython oder Satoruhigas ofxPy (/ satoruhiga / ofxPy) ist einfach zu bedienen, aber ich wollte Python in dem Anaconda-Paket verwenden, das mit pyenv unter OSX installiert wurde, also habe ich es versucht.

Hier wird oF 0.9.8 unter OSX mit ofxPy verwendet. Einführung in Python 3.6.1, das mit Anaconda 3-4.3.1 geliefert wird.

Projekte erstellen und koordinieren

In meinem Fall habe ich normalerweise eine App mit Projektgenerator erstellt. Natürlich wurde ofxPy hinzugefügt. Öffnen Sie das Projekt und füllen Sie zuerst die Python-Bibliothek. Da das Installationsverzeichnis "/ Users / me / .pyenv / version / anaconda3-4.3.1" lautet, ziehen Sie "libpython3.6m.dylib" in das lib-Verzeichnis. Zu diesem Zeitpunkt werden Sie gefragt, ob Sie die Bibliotheksdatei optional in das Projektverzeichnis kopieren möchten, müssen sie jedoch nicht kopieren. pyenv-of-01.jpeg

Bearbeiten Sie als Nächstes die Build-Einstellungen für Ihr Projekt. Fügen Sie Folgendes zu Header Search Paths hinzu. Ersetzen Sie das Verzeichnis durch das Anaconda-Installationsverzeichnis, das entsprechend verwendet wird.

/Users/me/.pyenv/versions/anaconda3-4.3.1/include


/Users/me/.pyenv/versions/anaconda3-4.3.1/include/python3.6m

Dann Bibliothekssuchpfade

/Users/me/.pyenv/versions/anaconda3-4.3.1/lib


Legen Sie außerdem einen ähnlichen Pfad für Runpath-Suchpfade fest, um zu verhindern, dass Ihnen zur Laufzeit "Keine Bibliothek" mitgeteilt wird.

/Users/me/.pyenv/versions/anaconda3-4.3.1/lib


Fügen Sie in den Erstellungsphasen des Projekts "libpython3.6m.dylib" zu "Dateien kopieren" hinzu. In meinem Fall habe ich es gerade hinzugefügt und weder das Ziel noch den Unterpfad festgelegt.

Testcode

Grundsätzlich sollte die Beispieldatei von ofxPy funktionieren. Wenn Sie jedoch nur den Vorgang überprüfen, ist dies erfolgreich, wenn der folgende Code keinen Fehler enthält. Wichtig ist, dass Sie Python möglicherweise nicht mit der Meldung "Set $ PYTHONHOME" verwenden können. Verwenden Sie daher die Funktion ** putenv, um die Umgebungsvariable im Programm auf den Pfad zur Python-Startseite (= Anaconda-Verzeichnis) festzulegen. Ist anzugeben **.

ofApp.h


#pragma once

#include "ofMain.h"
#include "ofxPy.h"

class ofApp : public ofBaseApp{

	public:
		void setup();
		void update();
		void draw();
		
    ofxPy::Context  python;
};

ofApp.cpp


#include "ofApp.h"

//--------------------------------------------------------------
void ofApp::setup(){
    ofSetFrameRate(0);
    ofSetVerticalSync(false);
    ofBackground(0);
    
    putenv((char *)"PYTHONHOME=/Users/me/.pyenv/versions/anaconda3-4.3.1");
    python.setup();
}

Sie sollten es verwenden können.

Recommended Posts

Verwenden Sie Anaconda-Python, das mit pyenv von openFrameworks installiert wurde
Stellen Sie OpenCV3 in Python3 zur Verfügung, das mit pyenv installiert wurde
Verwenden Sie Python, das von pyenv für die PL / Python-Ausführungsumgebung installiert wurde
Installieren Sie das neueste Python von pyenv, das von Homebrew installiert wurde
Verwenden Sie Python, das von Pyenv mit Sublime REPL von Sublime Text 3 installiert wurde
Verwenden Sie Python in pyenv mit NeoVim
Verwenden Sie pydoc mit Virtualenv / pyenv / venv
tkinter konnte nicht mit Python verwendet werden, das von pyenv of anyenv installiert wurde
Verwenden Sie smbus mit python3 in einer pyenv-Umgebung
Verwenden von C ++ - Funktionen aus Python mit pybind11
pyenv funktioniert nicht mit tcl-tk, das von homebrew installiert wurde.
Verwenden Sie mit pyenv mehrere Versionen der Python-Umgebung
Wickeln Sie C mit Cython für Python ein
Wrap C ++ mit Cython zur Verwendung von Python
PIL kann nicht von virtualenv mit pyenv installiert werden
Erstellen Sie eine virtuelle Umgebung mit Anaconda, die über Pyenv installiert ist
Umgebungskonstruktion mit anyenv + pyenv (nur von pyenv migrieren (Mac))
Verwenden Sie thingspeak aus Python
Verwenden Sie mecab-ipadic-neologd mit igo-python
Verwenden Sie RTX 3090 mit PyTorch
Verwenden Sie ansible mit cygwin
Verwenden Sie pipdeptree mit virtualenv
[Python] Verwenden Sie JSON mit Python
Verwenden Sie Mock mit Pytest
Verwenden Sie fließend Python
Verwenden Sie den Indikator mit pd.merge
Verwenden Sie Gentelella mit Django
Verwenden Sie Mecab mit Python 3
Verwenden Sie Tensorboard mit Chainer
Verwenden Sie DynamoDB mit Python
Verwenden Sie Python 3.8 mit Anaconda
Verwenden Sie Python mit Docker
Verwenden Sie TypeScript mit Django-Kompressor
Verwenden Sie MySQL aus Python
Verwenden Sie WENIGER mit Django
Wie benutzt man Pyenv?
Installieren Sie Python mit pyenv
Verwenden Sie BigQuery aus Python.
Erstellen Sie python3.x mit pyenv
Verwenden Sie MySQL mit Django
Verwenden Sie Enum mit SQLAlchemy
Ein Memorandum (masOS), das tkinter importiert, konnte nicht mit Python durchgeführt werden, das von pyenv installiert wurde
Verwenden Sie Tensorboard mit NNabla
Verwenden Sie GPS mit Edison
Verwenden Sie nim mit Jupyter
Verwenden Sie mecab-ipadic-neologd von Python
Verwenden Sie die Authentifizierung mit öffentlichem Schlüssel und privatem Schlüssel für ssh. Verbindung von wan verbinden.