Python PyQt4 - błąd podczas importu

0

Witam
własnie staram się napisać swój pierwszy program w Pythonie z pomocą biblioteki PyQt4. Niestety pojawia się problem podczas uruchomienia programu. Postaram sie opisać mniej-wiecej co zrobiłem:

Zainstalowałem pythona 3.3.3, ściagnąłem PyQt4 (http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.10.3/PyQt4-4.10.3-gpl-Py3.3-Qt4.8.5-x64.exe/download) zainstalowałem (przed instalacja pokazało błąd, z tego co pamietam coś w stylu: nie znaleziono pythona 3.3, ale mówie gdzie nie znaleziono jak mam), kliknalem dalej zainstalowalem i wszystko przebiegło ok.

Uzywam IDE: PyCharm JetBrains'a, system mam 64bitowy. No wiec stworzylem projekt, dodałem do niego Pythona 3.3.3 (rozumiem, że po instalacji PyQt4 juz ono tam dodało). Zrobilem plik .py i napisałem prosty kod wyświetlający okienko (wg tutoriala):

 
import sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)

win = QtGui.QWidget()
win.resize(600,400)
win.show()

sys.exit(app.exec_())

I niestety pojawia mi się błąd:

C:\Python33\python.exe C:/Users/Maciek/PycharmProjects/Pyton/python/qt.py
Traceback (most recent call last):
File "C:/Users/Maciek/PycharmProjects/Pyton/python/qt.py", line 4, in <module>
from PyQt4 import QtGui
ImportError: DLL load failed: %1 nie jest prawidłową aplikacją systemu Win32.

Process finished with exit code 1

Szperałem, ale nawet google nie bardzo kuma o co chodzi. Pewnie popełniam jakiś głupi błąd, może wy potraficie pomóc :)?
Używam wersji PyQt4, ponieważ do 5 jest jeszcze baardzo mało tutoriali i exampli w sieci.

0

jeszcze troche pokopałem i ku mojemu zdziwieniu miałem zainstalowana wersje pythona na system 32 bitowy :D przeinstalowałem, co pomogło mi w wypadku wersji 2.7.6 gdyż dla niej wszystko działa fajnie.

mam i używam wersji pythona 3.3.3 - i tu pojawia sie problem: Co prawda python jest, PyQt4 jest zainstalowane poprawnie, wszystko ok. Jak zrobie copy-paste jakiś kod z exampla w internecie do pliku .py i uruchomie to działa, jednak problem, a zarazem różnica miedzy wersją 2.7.6 a 3.3.3 jest taka, że w 2.7.6 PyCharm podpowiada składnie pod ctrl+space - a pod 3.3.3 nie, mimo, że właściwie podobno wszystko działa.
@Shalom wybacz ze cie tu wzywam, ale wiem ze piszesz w pythonie i lubisz produkty JetBrains to może bd wiedział :)

1

Na oko Pycharm ci niezaindeksował tych bibliotek. Wejdź sobie w ustawienia interpretera i je ręcznie dodaj bo może nie wykrył że sie pojawily.

0

@Shalom a mógłbyś powiedzieć które bilbioteki dodać?
wchodzę w Settings>Python Interpreters i tam mam dwa: dla 2.7.6 i 3.3.3
Jak wejde w któryś to wybieram niżej "Path" i tam właściwie jedyna róznica jest taka, że 2.7.6 ma dodatkowo: C:/Python27/Lib/lib-tk ale stawiam ze to bilbioteka do tkintera wiec nie od tego ona jest.

0

A to czego właściwie ci nie podpowiada? Skladni pythona? To wywal ten interpreter i spróbuj dodać od nowa, niech się przeindeksuje ;] Poza tym może masz coś źle w ustawieniach kiedy ma podpowiadać?

0

@Shalom hymm na laptopie i komputerze mam dokladnie ten sam problem: podpowiada przy 2.7.6, a przy 3.3.3 juz nie :D próbowałem wyrzucic pythona i pyqt, zainstalowac od nowa i to i to, nic nie dało, przeindeksować tez, usuwalem interpretery i dodawalem od nowa i wciaz nic :D

Dokladniej: tworze projekt, tworze plik .py, dodaje mu prosty kod np:

import sys
from PyQt4 import QtGui

app = QtGui.

I w tym momencie klikajac po kropce ctrl+space chciałbym mieć podpowiedź metod ktore moge wybrac (tu akurat poszukuje QApplication). W 2.7.6 sie pokazuja, a jak wlacze projekt 3.3.3 juz nie :)

edit
w ogóle, nie tylko jak zaimportuje QtGui to sie nie pokazują, nawet jak dam samo Qt to też nic sie nie pokazuje, a Qt z tego co wiem zawiera w sobie wszystkie te biblioteki więc siłą rzeczy co kolwiek powinno się pokazać

0

A jak spróbujesz skoczyć (ctrl+ klik) do tego PyQt4 które importujesz to skacze? Czy mówi że nie znalazł? ;]

0

jak robie ctrl + klik na QtGui to dostaje plik o nazwie:
QtGui.py i wiadomosci:

  1. encoding: utf-8
  2. module PyQt4.QtGui
  3. from C:\Python33\lib\site-packages\PyQt4\QtGui.pyd
  4. by generator 1.130

Skeleton generation error:

Failed to process 'PyQt4.QtGui' while importing: DLL load failed: %1 nie jest prawidłową aplikacją systemu Win32.

jakbym dalej mial problem z wersja systemu? oO

0

A jak zrobisz to samo z tego interpretera 2.7? Bo coś ewidentnie ci nie bangla :D

0

jak zrobie na 2.7.6 to pokazuje sie normalnie kod pliku QtGui.pyd :) nie wiem co tu może nie działać, wersja PyQt identyko tylko pod pythona 3.3 i wersja pythona jest 3.3.3, reszte robiłem dokladnie tak samo :D

1

Wygląda tak że ta wersja PyQt pod Pythona 3 ci sie nie zainstalowała poprawnie z jakiegoś powodu i tyle ;]

0

czekaj wywale to wszystko i zainstaluje od nowa po kolei i dam znac zaraz ;]

edit
@Shalom to jakaś farsa, nie działa.. :D

Sprawa rozwiązana poprzez przeinstalowanie IDE :) długo to trwało, ale działa
dzieki @Shalom za pomoc :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1