Installationsanleitung Eric4 auf Windows-PC

Gute Links und Tutorials könnt ihr hier posten.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Montag 4. Dezember 2006, 02:22

Erstmal vorweg: Erstmal vielen Dank an Leonidas der mir in diesem Thread http://www.python-forum.de/topic-8123.html bei Seite stand und mir viele Tipps gegeben hat und mich mit nötigen Informationen versorgt hat :)

-- Installation --

Folgendes mag viele abschrecken aber ich sag euch das es sich lohnt. Man wird für die Mühe in Gegenzug mit einen Wirklich sehr leistungsfähigen Editor belohnt der dazu noch schön anzusehen ist ;)

1.Vorbereitung: - Erstmal vorweg die Umgebungsvariablen setzen
Unter windows gelangt man zu den Umgebungsvariablen folgendermaßen:
Start-> Systemsteuerung -> System -> Erweitert -> Umgebungsvariablen

Alle folgende Einstellungen werden bei Systemvariablen gemacht.

-- Path anklicken und folgendes dahinter hängen bei Wert: ;C:\MinGW\bin;C:\Qt\4.2.2\bin
-- Auf neu drücken und als Name QMAKESPEC und als Wert C:\Qt\4.2.2\mkspecs\win32-g++ eintragen.
-- Wider das gleiche und als Name QTDIR und als Wert C:\Qt\4.2.2 eintragen


2. Qt4-GPL
Binary Runterladen: http://www.trolltech.com/developer/downloads/qt/windows
Installer ausführen und alles mit Next bestätigen.
Wenn gefragt wird ob MigGW installiert werden soll, dann bestätigen. Alles weitere ebenfalls bestätigen.

Wenn alles geklappt hat und Punkt 1 befolgt wurde, sollte gcc (GCC) 3.4.2 (mingw-special) angezeigt werden, wenn man in der Konsole gcc --version eingibt. Qt ist auch jetzt einsatzbereit.


3. Sip4.5
sip-4.5.zip (for windows) downaloden: http://www.riverbankcomputing.co.uk/sip/index.php

Folgendes Ausführen:
C:\sip-4.5>python configure.py -p win32-g++
C:\sip-4.5>mingw32-make
C:\sip-4.5>mingw32-make install



4. QScintilla2
Zip Downlaoden: http://www.riverbankcomputing.com/Downl ... cintilla2/
Ich habe folgendes zip runtergeladen: QScintilla-1.71-gpl-2-snapshot-20061126.zip

Auspacken nach c:\ und dann in QS umbenenne. (Das Verzeichnis wird später gelöscht)

Danach folgendes machen:

C:\>cd QS\Qt4
C:\QS\Qt4>qmake qscintilla.pro
C:\QS\Qt4>mingw32-make

Jetzt wird erstmal Kompiliert. Das kann ein wenig dauern. Wenn alles gut lief, finden wir in C:\Qt\4.2.2\lib die libqscintilla2.a und qscintilla2.dll.

Jetzt müssen wir die Header(*.h), qm-files(*.qm), ts-files(*.ts) und die dll kopieren:

C:\QS\Qt4>copy *.h %QTDIR%\include
C:\QS\Qt4>copy Qsci\*.h %QTDIR%\include
C:\QS\Qt4>copy qscintilla*.qm %QTDIR%\translations
C:\QS\Qt4>copy *.ts %QTDIR%\translations
C:\QS\Qt4>copy %QTDIR%\lib\qscintilla2.dll %QTDIR%\bin


Als letztes einmal folgendes ausführen:
C:\QS\Qt4>mingw32-make install


5. PyQt-GPL
Die PyQt-win-gpl-4.1.zip (nicht das Binary!) runterladen: http://www.riverbankcomputing.co.uk/pyqt/download.php

Vergisst einfach das Binary, das ist mist und nur Zeitverschwendungen, weil z.B. die pyqtconfig.py nicht vorhanden ist, die aber erforderlich ist um qscintilla2 (Weiter unten) für Python zu installieren. Daher kompilieren wird uns PyQt selber :)

Wie gehabt nach in c:\ auspacken und in PyQt umbenennen.

Folgendes tun:

C:\PyQt>python configure.py
C:\PyQt>mingw32-make


Nun wird kompiliert. Das kann __ein wenig__ dauern. Danach folgendes tun:
C:\PyQt>mingw32-make install


Wenn alles fertig ist solltet ihr den Ordner C:\PyQt\examples nach C:\Python\Lib\site-packages\PyQt4 kopieren. Dort sind viele Beispiel für GUI Erzeugung mit PyQt, falls ihr mal später vorhabt was mt Qt zu machen.


6. Noch mal QScintilla2
Wir müssen jetzt QScintilla für Python installieren. Das ist wichtig!

Hinweiß: Dieser schritt kann nicht vorher ausgeführt werden, weil man PyQt vorher installiert sein muss bevor man QScintilla für Python installieren kann!

Folgendes Ausführen:
C:\QS\Python>python configure.py
C:\QS\Python>mingw32-make
C:\QS\Python>mingw32-make install



7. eric4

Das Snapshot eric4-snapshot-20061..> und eric4-i18n-de-snapsh..>
runterladen: http://www.die-offenbachs.de/detlev/snapshots4/

Das eric4-snapshot-20061112.tar.gz unter C:\ auspacken und in eric4-src umbenennen.
Das eric4-i18n-de-snapshot-20061112.tar.gz unter c:\ auspacken und in eric4-t umbenennen.

Folgendes Ausführen:
C:\eric4-src>python install.py

Als nächstes folgendes machen falls ihr Eric in Deutsch haben möchtet:
C:\eric4-t>python install-i18n.py

So, nun geht ihr in C:\Python\Lib\site-packages\eric4 und macht eine Verknüpfung zu eric4.pyw auf den Desktop.

Als letztes könnte ihr folgende nicht mehr benötigte Verzeichnisse Löschen: PyQt, QS, eric4-src, eric4-t. Qt muss bleiben! Genauso würde ich die vorher Gesetzen Umgebungsvariablen behalten!


8. Fertig
Das wars :) So, hatte das alles bei mir letztendlich nach stundenlanger rumprobiererei funktioniert. Nochmals vielen Dank an Leonidas der mir in dem oben verlinkten Thread viele Tipps gegeben hat :)

Edit: Fehler korrigiert.
Zuletzt geändert von sape am Dienstag 2. Januar 2007, 13:53, insgesamt 1-mal geändert.
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Montag 4. Dezember 2006, 14:43

Ich würde das in Tutorials verschieben. :wink:
mfg

Thomas :-)
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Montag 4. Dezember 2006, 19:10

Stimmt ^^

Vielleicht ist ein Admin/Mod so nett und verschiebt das.

lg
britisch
User
Beiträge: 6
Registriert: Mittwoch 6. Dezember 2006, 15:07

Mittwoch 6. Dezember 2006, 15:19

Zunächst einmal vielen Dank für diese ausführliche Anleitung. Leider tritt auf meinem System ein Fehler bei der Compilierung auf:

D:\Programs\sip-4.5>mingw32-make
makefile:29: warning: overriding commands for target `.c.o'
makefile:26: warning: ignoring old commands for target `.c.o'
mingw32-make[1]: Entering directory `D:/Programs/sip-4.5/sipgen'
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o main.o main.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o transform.o transform.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o gencode.o gencode.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o export.o export.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o heap.o heap.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o parser.o parser.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o lexer.o lexer.c
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -Wl,-subsystem,console -Wl,-s -o sip.exe main.o transform.o gen
code.o export.o heap.o parser.o lexer.o
mingw32-make[1]: Leaving directory `D:/Programs/sip-4.5/sipgen'
makefile:29: warning: overriding commands for target `.c.o'
makefile:26: warning: ignoring old commands for target `.c.o'
mingw32-make[1]: Entering directory `D:/Programs/sip-4.5/siplib'
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -I"C:\Program Files\Python25\
include" -o siplib.o siplib.c
gcc: siplib.c: No such file or directory
gcc: no input files
mingw32-make[1]: *** [siplib.o] Error 1
mingw32-make[1]: Leaving directory `D:/Programs/sip-4.5/siplib'
mingw32-make: *** [all] Error 2

Das Configure lieferte vorher folgende Ausgabe:

D:\Programs\sip-4.5>python configure.py -p win32-g++
This is SIP 4.5 for Python 2.5 on win32.
The SIP code generator will be installed in C:\Program Files\Python25.
The SIP module will be installed in C:\Program
Files\Python25\Lib\site-packages.
The SIP header file will be installed in C:\Program Files\Python25\include.
The default directory to install .sip files in is C:\Program
Files\Python25\sip.
The platform/compiler configuration is win32-g++.
Creating sipconfig.py...
Creating top level Makefile...
Creating sip code generator Makefile...
Creating sip module Makefile...

Hat jemand eine Idee, woran es liegen könnte?

Beste Grüße,
Andreas.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Mittwoch 6. Dezember 2006, 16:03

Willkommen im Forum.

Code: Alles auswählen

gcc: siplib.c: No such file or directory
gcc: no input files
mingw32-make[1]: *** [siplib.o] Error 1
mingw32-make[1]: Leaving directory `D:/Programs/sip-4.5/siplib'
mingw32-make: *** [all] Error 2
Der erste Error ist das er siplib.c nicht finden :?

EDIT: Kuck mal ob in D:/Programs/sip-4.5/siplib die siplib.c vorhanden ist.
britisch
User
Beiträge: 6
Registriert: Mittwoch 6. Dezember 2006, 15:07

Mittwoch 6. Dezember 2006, 16:42

Das habe ich nachgeschaut, die siplib.c ist wo sie sein sollte.

Ich habe vor einigen Wochen einmal versucht, ERIC3 zu kompilieren, da bekam ich ähnliche Fehlermeldungen auch bei anderen Komilierungen: Dateien, die vorhanden waren, sollten angeblich nicht dort sein - könnte es irgendetwas mit dem Kompiler oder MinGW zu tun haben?
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Mittwoch 6. Dezember 2006, 16:55

britisch hat geschrieben:[...]könnte es irgendetwas mit dem Kompiler oder MinGW zu tun haben?
Gute frage. Weiß ich nicht. Ich habe mir den MingGW vom Qt4-GPL Setup selber installieren lassen. Damit hatte ich keine Probleme. Welche MigGW Version hast du momentan drauf?

lg
britisch
User
Beiträge: 6
Registriert: Mittwoch 6. Dezember 2006, 15:07

Mittwoch 6. Dezember 2006, 16:58

Ich habe genau das gleiche gemacht - MinGW durch QT installieren lassen. gcc --version liefert genau die Ausgabe, die Du in Deinem Tutorial beschrieben hast. Ich bin ratlos ...
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Mittwoch 6. Dezember 2006, 17:08

Die Ausgabe wird bei mir erzeugt.

Code: Alles auswählen

C:\sip-4.5>mingw32-make
makefile:29: warning: overriding commands for target `.c.o'
makefile:26: warning: ignoring old commands for target `.c.o'
mingw32-make[1]: Entering directory `C:/sip-4.5/sipgen'
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o main.o main.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o transform.o transform.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o gencode.o gencode.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o export.o export.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o heap.o heap.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o parser.o parser.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o lexer.o lexer.c
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -Wl,-subsystem,console -Wl,-s -o sip.exe main.o transform.o gen
code.o export.o heap.o parser.o lexer.o
mingw32-make[1]: Leaving directory `C:/sip-4.5/sipgen'
makefile:29: warning: overriding commands for target `.c.o'
makefile:26: warning: ignoring old commands for target `.c.o'
mingw32-make[1]: Entering directory `C:/sip-4.5/siplib'
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -Ic:\python\include -o siplib
.o siplib.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -Ic:\python\include -o qtlib.
o qtlib.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -Ic:\python\include -o thread
s.o threads.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -Ic:\python\include -o objmap
.o objmap.c
g++ -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -Ic:\python\include -o bool.o
 bool.cpp
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -shared -Wl,-subsystem,console -Wl,-s -o sip.pyd siplib.o qtlib
.o threads.o objmap.o bool.o -Lc:\python\libs -lpython25
mingw32-make[1]: Leaving directory `C:/sip-4.5/siplib'
Bin überfragt warum das bei dir nicht geht.

lg
britisch
User
Beiträge: 6
Registriert: Mittwoch 6. Dezember 2006, 15:07

Mittwoch 6. Dezember 2006, 18:00

Ok, bin nun einen Schritt weitergekommen - es fehlte auf meinem System MSYS. Habe ich nachinstalliert, in den Pfad gesetzt und nun ist mingw32-make durchgelaufen:

D:\Programs\sip-4.5>mingw32-make
makefile:29: warning: overriding commands for target `.c.o'
makefile:26: warning: ignoring old commands for target `.c.o'
mingw32-make[1]: Entering directory `D:/Programs/sip-4.5/sipgen'
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o main.o main.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o transform.o transform.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o gencode.o gencode.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o export.o export.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o heap.o heap.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o parser.o parser.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o lexer.o lexer.c
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -Wl,-subsystem,console -Wl,-s -o sip.exe main.o transform.o gen
code.o export.o heap.o parser.o lexer.o
mingw32-make[1]: Leaving directory `D:/Programs/sip-4.5/sipgen'
makefile:29: warning: overriding commands for target `.c.o'
makefile:26: warning: ignoring old commands for target `.c.o'
mingw32-make[1]: Entering directory `D:/Programs/sip-4.5/siplib'
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -I"C:\Program Files\Python25\
include" -o siplib.o siplib.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -I"C:\Program Files\Python25\
include" -o qtlib.o qtlib.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -I"C:\Program Files\Python25\
include" -o threads.o threads.c
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -I"C:\Program Files\Python25\
include" -o objmap.o objmap.c
g++ -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -I"C:\Program Files\Python25\
include" -o bool.o bool.cpp
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -shared -Wl,-subsystem,console -Wl,-s -o sip.pyd siplib.o qtlib
.o threads.o objmap.o bool.o -L"C:\Program Files\Python25\libs" -lpython25
mingw32-make[1]: Leaving directory `D:/Programs/sip-4.5/siplib'

Leider bekomme ich nun beim Aufruf von "mingw32-make install" folgende Fehlermeldung:

D:\Programs\sip-4.5>mingw32-make install
makefile:29: warning: overriding commands for target `.c.o'
makefile:26: warning: ignoring old commands for target `.c.o'
mingw32-make[1]: Entering directory `D:/Programs/sip-4.5/sipgen'
/usr/bin/sh: -c: line 2: syntax error: unexpected end of file
mingw32-make[1]: *** [install] Error 258
mingw32-make[1]: Leaving directory `D:/Programs/sip-4.5/sipgen'
mingw32-make: *** [install] Error 2

Weißt Du Rat?
britisch
User
Beiträge: 6
Registriert: Mittwoch 6. Dezember 2006, 15:07

Donnerstag 7. Dezember 2006, 00:26

ok, irgendwie habe ich es geschafft, bis zur installation von pyqt zu gelangen - dort hänge ich aber jetzt. Ich kann nicht einmal das python configure.py erfolgreich abschließen:

D:\Programs\py>python configure.py -w
Determining the layout of your Qt installation...
D:\programs\qt\4.2.2\bin\qmake.exe -o qtdirs.mk qtdirs.pro
Cannot find file: qtdirs.pro.
Error: D:\programs\qt\4.2.2\bin\qmake.exe failed to create a makefile. Make
sure you have a working Qt v4 qmake on your PATH or use the -q argument to
explicitly specify a working Qt v4 qmake.

Paths sind alle gesetzt, das qmake gibt es genau dort, wo es angegeben ist und auch die qtdirs sind da. wenn ich "qmake.exe -o qtdirs.mk qtdirs.pro" auf der Kommandozeile direkt starte, läuft es ohne Beschwerden ... ich bin völlig ratlos.
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Donnerstag 7. Dezember 2006, 14:14

Wenn, wie in punkt 1, der "PATH", "QTDIR" und "QMAKESPEC" gesetzt ist und Punkt 2 - 5 funktioniert hat, sollte Punkt 5 mit "python configure.py " ohne Probleme gehen.

Welche Windows Version hast du? Ich hab das alles auf WinXP-SP2 installiert. Ob die Anleitung mit allen Windows Versionen (Win98, NT, etc) funktioniert weiß ich nicht.

lg
britisch
User
Beiträge: 6
Registriert: Mittwoch 6. Dezember 2006, 15:07

Freitag 8. Dezember 2006, 14:37

Ich arbeite auf einem XP SP2 mit Python 2.5, die Pfade sind alle richtig gesetzt. Ich habe das Gefühl, dass es mit der Ausführung des qmake Kommandos aus Python heraus zu tun hat - er weiss einfach nicht, dass er sich im richtigen Verzeichnis befindet, was komisch ist, denn ein os.getcwd() gibt den richtigen Ort an. Ich habe aber keine Idee, woran es ganau liegen könnte. Ich gebe auf ...

... und warte auf eine Binary Distribution. Vielleicht ist jemand in der Lage, mit py2exe ein Binary herzustellen? Ich denke das wäre für viele interessant.

Jedenfalls vielen Dank für die Hilfe!
pcos
User
Beiträge: 16
Registriert: Dienstag 3. April 2007, 14:21

Dienstag 3. April 2007, 14:44

Hallo sape,

danke für die tolle Anleitung, hat bei mir alles prima funktioniert.

Einziges Problem: Wenn ich Eric starte, kommt die Fehlermeldung "no module named sax.handler" bei einigen Dateien aus dem XML-Verzeichnis von Eric. Python versucht, die Module aus demselben Verzeichnis zu laden und nicht aus der Standard-Lib. Ich habe mir erst mal damit beholfen, das Eric-XML umzubennen und die imports zu ändern. Kann man eigentlich irgendwie steuern, dass Python nicht im aktuellen Modul zuerst sucht?

Und noch was: Wieso funktioniert das bei z.B. Linux? Weil die Modul-Importe da case-sensitive (bzgl. Dateinamen) sind?

Gruß
mt
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

Mittwoch 11. April 2007, 13:19

Vielen Dank für diese Wunderbare Anleitung. Wenn man Sie Schritt für Schritt befolgt läuft es einwandfrei :)

Ich habe zwischenzeitlich auch schon DrPython ausprobiert, aber endlich hab ich wieder eric.

Nochmals Vielen Dank und lg
herby
Antworten