Seite 1 von 1

Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 8. Juli 2011, 17:58
von NiklasRosenstein
Hallo,

ich will mich an das schreiben von Modulen mit C++ für Pyhton heranwagen.
Habe Visual Express 2010 C++ heruntergeladen und installiert.
Ich arbeite auf Windows 7 64 Bit.

So, nun habe ich ein kleines programm geschrieben und auf "Debugging start" gedrückt und das ist was dabei rauskam:

Code: Alles auswählen

#include "C:\Python27\include\Python.h"

int main() {
    return 0;
}

Code: Alles auswählen

// Fehlermeldung vom compiler:
1>------ Erstellen gestartet: Projekt: MyPy, Konfiguration: Debug Win32 ------
1>  main.cpp
1>LINK : fatal error LNK1104: Datei "python27_d.lib" kann nicht geöffnet werden.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Dann habe ich es genau nach dem Tutorial hier versucht. Wenn ich die example.c builden will (wieder auf "Debugging start" nur mit "Release" und nicht "Debug") kommt folgendes:
Bild

Nagut, lass ma das erstmal mit der example.dll, das tutorial besagt auch dass ich die Python source herunterladen soll und da meine projekte drin erstellen soll.

Code: Alles auswählen

#include "C:\Python27_Source\include\Python.h"

int main() {
    return 0;
}

Code: Alles auswählen

// Fehlermeldung vom compiler:
1>------ Erstellen gestartet: Projekt: MyPy, Konfiguration: Debug Win32 ------
1>  main.cpp
1>C:\Users\niklas\Python\C++\Python-2.7.2\Include\Python.h(8): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "pyconfig.h": No such file or directory
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Ich weiss wirklich nicht weiter, bin ziemlich neu in C++. :K
(Habe nur kentnisse in Java und Python)

Vielen Danke schonmal !!
Niklas

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 8. Juli 2011, 19:12
von deets
Mal eine Frage vorweg: wenn du so offensichtlich keine Ahnung von C/C++ hast, warum willst du dann was damit machen? Hast du ein konkretes Problem zu loesen?

Wie dem auch sei... Vorrausgeschickt: ich arbeite eigentlich nur mit unixoiden Systemen, darum alles folgende unter Vorbehalt.

Das Problem beim ersten mal ist, dass du eine Debug-Variante bauen willst, aber keine Debug-Variante von Python hast. Das erkennt man an dem _d im DLL-Namen, und das er das nicht findet.

Danach benutzt du eine Source-Installation von Python, aber das geht natuerlich auch nicht - denn die Sourcen von Python sind noch unspezifiziert, und genau darum fehlt die pyconfig.h.

Ich wuerde dir davon abraten, die letztere Variante auszuprobieren, es sei denn ,du hast vorher Python erfolgreich [edit] compiliert.

Ausserdem denke ich ist bei deinem Kenntnisstand eher angeraten sich mit extensions vie Cython oder normalen Distuitils auseinanderzusetzen. Oder geht es dir um das *embedden* von Python? Das ist ein komplett anderes Thema, aber dann - ganz ehrlich - muss man erstmal ein Programm in C++ schreiben koennen, denn worein will man sonst einen Python-Interpreter einbetten?

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Samstag 9. Juli 2011, 11:20
von NiklasRosenstein
Danke für deine schnelle antwort !
Mal eine Frage vorweg: wenn du so offensichtlich keine Ahnung von C/C++ hast, warum willst du dann was damit machen? Hast du ein konkretes Problem zu loesen?
Ja, ich habe eine Partikelsimulation in Python geschrieben, allerdings nicht seh rzu gebrauchen wegen pythons performance. Ich möchte sie in C++ schreiben.
Das Problem beim ersten mal ist, dass du eine Debug-Variante bauen willst, aber keine Debug-Variante von Python hast. Das erkennt man an dem _d im DLL-Namen, und das er das nicht findet.
Und wo bekomme ich diese Debug Version her ? :? Wenn ich die Release - Variante bauen will kommt glaube ich der gleiche Fehler. (Kanns grad nicht testen)
Ausserdem denke ich ist bei deinem Kenntnisstand eher angeraten sich mit extensions vie Cython oder normalen Distuitils auseinanderzusetzen.
Nuja, n paar klassen hab ich schon geschrieben für die Partikelsimulation, welche die nicht im Modul enthalten sein sollen. Also bissl C++ schreiben kann ich scho, aber von kompilieren hab ich keinen plan :shock:
Cython habe ich auch schon versucht zu installieren, hab mir dazu den mingw compiler runtergeladen aber beim installieren kommt immer vcvarsall.bat nicht gefunden oder so und dann hab cihs aufgegeben. Is ja jetz auch ein anderes Thema.
Oder geht es dir um das *embedden* von Python?
Nee , aber das soll später mal kommen. :mrgreen:

Danke,
Niklas

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Samstag 9. Juli 2011, 11:47
von EyDu
Hallo.
NiklasRosenstein hat geschrieben:Nuja, n paar klassen hab ich schon geschrieben für die Partikelsimulation, welche die nicht im Modul enthalten sein sollen. Also bissl C++ schreiben kann ich scho, aber von kompilieren hab ich keinen plan :shock:
Du kannst C++ programmieren aber kannst nicht kompilieren? Ich bin gespannt, wie du uns das erklären kannst ;-)

Ich würde an deiner Stelle versuchen erstmal Cython oder Psyco zum Laufen zu bringen. Damit sparst du dir den ganz Portierungsaufwand und bist vielleicht bereits ausreichend schnell. Ansonsten hilft natürlich auch immer scipy.

Sebastian

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Samstag 9. Juli 2011, 11:54
von BlackJack
@NiklasRosenstein: Wenn es die Debug-Version von Python nicht fertig kompiliert irgendwo zum herunterladen gibt, dann müsstest Du Dir die selber übersetzen.

Cython mag ein anderes Thema sein, aber ich würde auch eher den Weg einschlagen als C++ zu verwenden. Und wenn schon C++ dann trotzdem noch Cython um die Anbindung an Python einfacher zu gestalten.

Dazu muss ich vielleicht sagen, dass ich C++ nicht mag und auch nicht wirklich damit klar komme. Das ist IMHO eine viel zu komplizierte Sprache — und zwar *unnötig* kompliziert. Ich würde bei Geschwindigkeitsproblemen eher auf C ausweichen und das mit `ctypes` anbinden, oder Cython verwenden.

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Samstag 9. Juli 2011, 13:21
von deets
NiklasRosenstein hat geschrieben: Cython habe ich auch schon versucht zu installieren, hab mir dazu den mingw compiler runtergeladen aber beim installieren kommt immer vcvarsall.bat nicht gefunden oder so und dann hab cihs aufgegeben. Is ja jetz auch ein anderes Thema.
Ich wuerde dir das aber trotzdem raten, denn es ist gerade bei deinem Kenntnisstand der einfachste Weg, Python performanter zu machen. UU ist deine Partikelsimulation einfach genug zu portieren, und dann schon ausreichend schnell. Und selbst wenn du sie nochmal explizit als C/C++-Bibliothek schreiben willst, dann kannst du sie damit anbinden.

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Dienstag 9. August 2011, 13:53
von NiklasRosenstein
Habe es geschafft Cython zu installieren (nachdem ich zu Pyx86 gewechselt bin.). Funktioniert jetzt 1A ! Danke ;)

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Donnerstag 19. Juli 2012, 15:23
von Nuby
EyDu hat geschrieben:Hallo.
NiklasRosenstein hat geschrieben:Nuja, n paar klassen hab ich schon geschrieben für die Partikelsimulation, welche die nicht im Modul enthalten sein sollen. Also bissl C++ schreiben kann ich scho, aber von kompilieren hab ich keinen plan :shock:
Du kannst C++ programmieren aber kannst nicht kompilieren? Ich bin gespannt, wie du uns das erklären kannst ;-)
Das ist eine berechtigte Frage ^^

Ohne Komplieren geht es doch gar nicht. Oder hat das jemand anderes für dich gemacht? ^^

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 20. Juli 2012, 18:43
von Leonidas
Immerhin hat Nuby bewiesen dass er graben kann, mindestens ein Jahr tief graben.

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 20. Juli 2012, 18:49
von EyDu
Vielleicht ist er auf Schatzsuche.

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 20. Juli 2012, 18:50
von lunar
@Leonidas: Auf Gold ist er dabei allerdings nicht gestoßen ;)

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 20. Juli 2012, 19:00
von Leonidas
Dafür auf "CPyhon", ist doch auch schon was.

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 20. Juli 2012, 19:06
von lunar
@Leonidas: Uhhh, ist das etwa wertvoll?

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 20. Juli 2012, 19:39
von BlackJack
@lunar: Jup, das ist ein ganz seltener Fehldruck — Sammler zahlen dafür ein Vermögen. :-D

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 20. Juli 2012, 20:17
von Hyperion
Phyton soll da auch sehr beliebt sein! :mrgreen:

Re: Visual Express C++ 2010 + CPyhon 2.7 Probleme

Verfasst: Freitag 20. Juli 2012, 21:36
von BlackJack
@Hyperion: Diese Fälschung ist nicht viel Wert — das ist Massenware die einem ziemlich häufig unter kommt wenn man nicht aufpasst. :-)