Jak rozběhat PyQt4 na Windows (podruhé a lépe) 19. 01. 2007
Posted by Echy in Python, Qt, Windows.trackback
Jelikož můj včerejší návod sklidil docela úspěch a zároveň po mě bylo požadováno udělat to i včetně Eric4, rozhodl jsem se to vyzkoušet zprovoznit. A podařilo se! (Což se tedy opravdu divím, Python jsem viděl poprvé v tom seriálu na rootu a hned o něm píšu tutoriály.) Takže tady je nová verze návodu (pro přehlednost jsem sem copypastnul i kroky které jsou shodné s předchozím návodem). Od nuly po funkční Eric4
.
Souhrn
- Nainstalujeme Python.
- Nainstalujeme Qt4.
- Správně nastavíme proměnnou prostředí “Path”.
- Zkompilujeme a nainstalujeme SIP a PyQt4.
- Zkompilujeme a nainstalujeme widget QScintilla.
- Zkompilujeme a nainstalujeme Eric4.
Návod
Python
S Pythonem není moc co řešit, stáhneme a nainstalujeme verzi 2.5 ve formě klasického woknouzího instalátoru (používá Microsoft Installer 2). Kdyby odkaz nefungoval, najděte si balíček sami na stránkách Pythonu.
Qt4
Ze stránek Trolltechu si stáhneme soubor ‘qt-win-opensource-4.2.2-mingw.exe’ a nainstalujeme. Pokud nemáte nainstalované MinGW, nezapomeňte zaškrtnout v instalátoru příslušnou volbu (viz. screenshot níže) a instalátor si vše potřebné stáhne sám. Instalovat můžete s klidem do instalátorem navrženého adresáře (u mne ‘C:\Qt\4.2.2′).
Proměnná prostředí “Path”
Jak se ukázalo, ač jde o maličkost, jde o celkem klíčový prvek celé sestavy. Chápejte to tak, že bez toho vám to fungovat nebude
. Do proměnné “Path” musíme přidat cesty k adresářům s binárkami od Qt4 (u mne ‘C:\Qt\4.2.2\bin’) a MinGW (u mne ‘C:\MinGW\bin’).
Nejrychlejší postup je tento: pravý klik na “Tento počítač” → Vlastnosti → záložka “Upřesnit” → čudl “Proměnné prostředí”. Ve vyskočivším dialogu už jen zeditujeme nastavení proměnné “Path”, screen přikládám.
SIP a PyQt4
V minulé verzi návodu jsem používal binární verzi PyQt4 včetně SIP, ale ukázalo se, že neobsahuje všechny části potřebné k rozběhání QScintilly, takže v této verzi návodu PyQt4 kompiluji. Při dodržení předchozích kroků by to neměl být problém, protože MinGW (potřebné ke kompilaci) jsme si nainstalovali s Qt4 (pokud jsme ho neměli už předtím).
Od Riverbanků si stáhneme balíčky ‘sip-4.5.2.zip‘ a ‘PyQt-win-gpl-4.1.1.zip‘ a oba rozbalíme ho do C:. Pustíme si příkazový řádek, vlezeme do adresáře s rozbaleným SIP (u mne ‘C:\sip-4.5.2′) a jdeme páchat neplechu:
configure.py -p win32-g++
make
make install
Poté “přelezeme” do adresáře s PyQt4 (u mne ‘C:\PyQt-win-gpl-4.1.1′) a jdeme páchat o něco menší neplechu (abych byl přesný o jeden přepínač
):
configure.py
make
make install
Možná se divíte jak si můžu dovolit zadávat to jen tak bez cest, ale pokud jste postupovali podle návodu, tak:
- Soubory .py jsou asociovány s Pythonem, takže žádný problém.
- Cesta k ‘make’ z MinGW se nalézá v “Path”, takže můžeme klidně používat bez cesty.
QScintilla
Ze stránek projektu si stáhneme potřebný balíček a opět rozbalíme do C:. Vlezeme si do adresáře s rozbalenými zdroji (zde ‘C:\QScintilla-1.72-gpl-2-snapshot-20070117′) a opět jdeme páchat, tentokrát na více kroků
:
cd Qt4
qmake qscintilla.pro
make
make install
copy C:\Qt\4.2.2\lib\qscintilla.dll C:\Qt\4.2.2\bin
Tímto krokem jsme si zařídili podporu QScintilla v samotném Qt4. V dalším kroku vyřídíme vazby na Python:
cd ..\Python
configure.py
make
make install
Dle libosti si ještě můžeme zkompilovat podporu QScintilla pro Qt UI Designer:
cd ..\designer-Qt4
qmake designer.pro
make
make install
Eric4
Opět stáhneme potřebný balíček, rozbalíme do C: a v příkazovém řádku vlezeme do správného adresáře (u mne ‘C:\eric4-snapshot-20070114′). A jdeme instalovat (tentokrát je to primitivní):
install.py
Pokud vše dobře dopadlo, měli bychom mít Eric4 nainstalovaný v adresáří ‘C:\Python25′, spustíme ho pomocí ‘C:\Python25\eric4.bat’. Přeji šťastné (a veselé) užívání
.
Už z toho začínám mít vopruzeniny. Stále mi neprochází make u kompilace Sip. Je možné že mi chybí nějaký balíček z MinGw, protože jediné co nemohu, když postupuji podle návodu, je aut. stažení s instalátorem Qt (zřejmě problém s proxy). Na sajtě MinGw je balíčků mraky a nevim které jsou potřeba a nechce se mi je tahat všechny protože je evidentní že všechny nejsou potřeba. Je tam někde vidět jaké balíky instalace Qt potáhla ?
Tak sem to snad vyřešil a už to kompiluje. Problém byl ten že jsem měl nainstalovaný mingw32-make-3.80.0-1.exe a ten nějak nechce fungovat. Když jsem stáhl ten samý ale mingw32-make-3.80.0-3.tar.gz, tak to maká.
V každém případě dík za popis. Dělal jsem pouze v Tcl/Tk a takovýhle obludária při instalaci Py jsem nečekal.
Ahoj,
když se pokusím zkompilovat QScintilla2 pro Python, tak mi napíše “Error: Unable to find either PyQt v3 or v4″. Přitom mám PyQt samozřejmě nainstalované (v c:\program files\pyqt, instalační adresář se mi nepodařilo změnit). Kompilace pro Qt4 byla úspěšná. Eric4 se samozřejmě potom odmítne nainstalovat s hláškou “Sorry, please install QScintylla2 and it’s PyQt4 wrapper.”
Co s tím? Nemáš někde již zkompilovanou verzi QScintilla2, kterou bys mi mohl poslat?
Od té doby, co jsem tohle psal, jsem přeinstaloval Wokna, takže zkompilováno nemám:-( Nevím jestli jsi postupoval přesně podle návodu, pokud ne, zkus to celé znovu a podle něj. Nevím jestli jsem to přímo do návodu psal, ale poprvé jsem to zkoušel právě třeba s již hotovýma binárkama Qt4 a nechtělo se to rozeběhnout, dokonce mám dojem že kvůli něčemu podobnému… Podle návodu to IMHO jde docela hladce (i když s kompilováním), než jsem tohle vymyslel, tak jsem pokusama binárkama strávil dva dlouhé večery zcela bezúspěšně.
Zdravim,
dakujem za popis, ale ked som sa to pokusal nainstalovat tak pri kompilovani sipu mi to vyhadzuje chyby, ktorym nerozumiem. Pekne prosim, mrkne sa mi na to niekto, co by to mohol byt za problem
dik.
C:\sip-4.6>configure.py -p win32-g++
This is SIP 4.6 for Python 2.5 on win32.
The SIP code generator will be installed in C:\Python25.
The SIP module will be installed in C:\Python25\Lib\site-packages.
The SIP header file will be installed in C:\Python25\include.
The default directory to install .sip files in is C:\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…
C:\sip-4.6>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.6/sipgen’
gcc -c -O2 -w -DUNICODE -DQT_LARGEFILE_SUPPORT -I. -o main.o main.c
gcc: installation problem, cannot exec `cc1′: No such file or directory
mingw32-make[1]: *** [main.o] Error 1
mingw32-make[1]: Leaving directory `C:/sip-4.6/sipgen’
mingw32-make: *** [all] Error 2
C:\sip-4.6>
Dík za návod, taky jsem se zasekl na instalaci a až u tvého návodu jsem zjistil, že jsem stáhl špatnou verzi;-)
Všechno(Eclipse+PyDev+PyQt4) na Winech krásně funguje.
čau,
hezkej návod, nezkoušel to někdo s aktuálními verzemi k 8.1.2008? mám winXP, Python v.3.0.2, QT v.4.3.3, SIP-4.7.3, PyQt-win-gpl-4.3.3 a QScintilla-gpl-2-snapshot-20080106.
Při kompilaci SIP a QT-gpl… v příkazovém řádku proběhnou configure.py, ale make mi pak hlásí “minwq-make: *** No targets specified and no makefile found. Stop.
… ted jsem to tu prošel trošku víc a připadá mi, že to python vůbec nezkompiluje.
tak jsem to nakonec rozběhnul s použitím Pythona 2.5, dokonce tam u erica maj i překlad do češtiny.
Doba pokročila, v současné době jsou na http://www.riverbankcomputing.co.uk/software/pyqt/download
ke stažení soubory (22,9 Mb):
PyQt-Py2.5-gpl-4.4.3-1.exe
PyQt-Py2.6-gpl-4.4.3-1.exe
Odpadá stahování a instalace SIP!
Toť vše.