2012-06-30 8 views
7

Obecnie pracuję nad małą aplikacją naukową C++ Qt 4.8 (i 5.0, gdy zostanie wydana) i chciałbym wiedzieć, czy możliwe jest osadzenie Pythona + Numpy + Maptplotlib (i mieć przenośną aplikację nawet dla ludzie bez zainstalowanego Pythona) w aplikacji C++ Qt, aby tworzyć piękne wątki w mojej aplikacji?Umieścić Python/Numpy/Matplotlib w aplikacji C++ Qt?

Czy jest dostępny jakiś tutorial/przykład takiej rzeczy?

Dziękuję bardzo.

P.S. : nie jest dla mnie problemem generowanie plików tymczasowych, ale ważne jest, aby użytkownik nie musiał już mieć zainstalowanego pythona.

+0

Nie to, co widziałem, ale nie ma zbyt wielu kroków. –

Odpowiedz

8

Powszechnym sposobem radzenia sobie z Pythonem z C++ jest Boost.Python, ale bez niego można się dogadać.

Należy pamiętać, że "interpreter języka Python" składa się z dwóch części: Python DLL/SO i Python stdlib, które należy podać. Jedyną rzeczą, którą dodaje instalacja w Pythonie, jest konfiguracja i plik wykonywalny, który jest tylko cienkim opakowaniem wokół pozostałych trzech części.

Ponieważ nie mają konfigurację, niegdyś interpreter is initialized będzie trzeba użyć PySys_SetPath() ustawić sys.path aby wskazywał stdlib i dodatkowe pakiety. Stamtąd możesz wykorzystać resztę C API do manipulowania tłumaczem, tak jak w przypadku instalacji natywnej.

+0

To daje ci interpreter Pythona. Teraz dodaj, jak dodać NumPy i Matplotlib. –

+0

Ty ... umieść je w katalogu i dodaj do 'sys.path'. Ta część się nie zmienia. –