Python - Problem importing modules in VirtualEnv - python

I am trying to import PyQt5 by :
from PyQt5 import QtCore, QtGui, QtWidgets
But it is giving me the Error : Unable to import PyQt5. PyQt5 is definitely installed in the Virtualenv in the location -
"c:\users\TM\documents\python projects\pyqt test\env\lib\site-packages"
Which I did by - 'py -m pip install pyqt5' while in the (env).
My program is also in the 'pyqt test' folder.
I've installed Python on a new PC and this is the first time I'm having this problem, before I could just import anything in an env without any error.
EDIT: This is my sys.path:
['c:\\Users\\TM\\Documents\\Python Projects\\PyQt Test',
'C:\\Users\\TM\\AppData\\Local\\Programs\\Python\\Python38-32\\python38.zip',
'C:\\Users\\TM\\AppData\\Local\\Programs\\Python\\Python38-32\\DLLs',
'C:\\Users\\TM\\AppData\\Local\\Programs\\Python\\Python38-32\\lib',
'C:\\Users\\TM\\AppData\\Local\\Programs\\Python\\Python38-32',
'C:\\Users\\TM\0\AppData\\Roaming\\Python\\Python38\\site-packages',
'C:\\Users\\TM\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-packages']

Related

when i run the exe i get No module named 'PyQt5' but from the script its work

i use windows 10, python 3.7 and pyinstaller version 3.5.
I wrote some script in pycharm and when i hit run (from the pycharm IDE) its work fine.
but when I execute it by pyinstaller to exe ("pyinstaller --onefile design.py"),
I click the file inside the dist folder (design.exe) and i get this error
Traceback (most recent call last):
File "design21.py", line 10, in <module>
ModuleNotFoundError: No module named 'PyQt5'
[11116] Failed to execute script design21
my code start with:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'gui_with_layouts.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QThread,pyqtSignal
from style import *
from firebase import firebase
import xlrd
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
import time
from PyQt5.QtWidgets import *
stop_flag = False
UPDATE:
I dont know how but i did the next step and somehow it work:
delete line 10 and 11 (that import the 'Pyqt5')
execute new exe (from cmd the commend pyinstaller --onefile design21.py)
run the new exe file from the dist folder (Of course I got errors, because I used the moudle 'Pyqt5' without importing it).
4.add again the import line (that lines that i deleted 10 and 11).
execute again new exe (from cmd the commend pyinstaller --onefile design21.py)
then when I run the new exe it work...
no idea why but its worked.
you need to install pyqt5.
just open CMD and install it.
pip install pyqt5
No module named 'PyQt5' here not PyQt5 not installed on python environment install correctly or use the right python environment.
Pycharm editor goto project setting and choose python environment with 'PyQt5'
OR pycharm bottom CMD install a pip install PyQt5
I just ran into the same problem. For me importing sip in the first line of the programm solved the issue:
from PyQt5 import sip

Python 3.7 Anaconda: "ImportError: cannot import name 'QtWebKitWidgets' from 'PyQt5'" [duplicate]

I've recently upgraded PyQt5 from 5.5.1 to 5.6.0 using the Windows 32-bit installer here: https://www.riverbankcomputing.com/software/pyqt/download5. I've also upgraded my python from 3.4 to 3.5.
When I run my old code (which used to work) with the latest version I get an exception:
from PyQt5.QtWebKitWidgets import *
ImportError: No module named 'PyQt5.QtWebKitWidgets'
All of my QT calls in my python occur consecutively and are (and I know I shouldn't be importing * but that's beside the issue here I think):
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebKitWidgets import *
So the QtCore, QtGui and QtWidgets imports are all OK.
Also, when I search the source for QtWebKitWidgets there appears several references to this module.
Finally my python path looks like:
C:\PYTHON35;C:\PYTHON35\DLLs;C:\PYTHON35\LIB;C:\PYTHON35\LIB\LIB-TK;
and environment path:
C:\Python35\Lib\site-packages\PyQt5;C:\Python35;C:\Python35\Lib;C:\Python35\Lib\site-packages;C:\Python35\Scripts ....
QtWebKit got deprecated upstream in Qt 5.5 and removed in 5.6.
You may want to switch to PyQt5.QtWebEngineWidgets.QWebEngineView.
For basic use of PyQt5.QtWebKitWidgets.QWebView, it can simply be updated to use PyQt5.QtWebEngineWidgets.QWebEngineView in the source code, but there may be some differences in the new component which require further adjustments.
I was trying to run qutebrowser and it had the same error, the answer is simple, the packages changed.
You have two solutions:
1)
pip install PyQtWebEngine
2)
pip install PyQt5==5.11.3
Hope this helps any future problems
In PyQt5 "QtWebKitWidgets" is Deprecated. I just replace this line
from PyQt5.QtWebKitWidgets import QWebView, QWebPage
from PyQt5.QtWebKit import QWebSettings
With this code:
from PyQt5.QtWebEngineWidgets import QWebEngineView as QWebView,QWebEnginePage as QWebPage
from PyQt5.QtWebEngineWidgets import QWebEngineSettings as QWebSettings
If you really want to use PyQt5.QtWebKitWidgets, you could run this from the command line:
pip install PyQtWebKit
and let it do what it does.
In PyQt5 "QtWebKitWidgets" is no longer available. Instead it is replaced with "QtWebEngineWidgets". So you have to make this change in your code.
For more information: http://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html

Does PyQt5/pyqt4 already supports QtVirtualKeyboard with Handwriting Recognition?

I'm working on a desktop application using pyqt5, and I want to use a Virtual Keyboard with Handwriting Recognition. I saw that Qt, QtVirtualKeyboard already support it.
Here's a link!
I got the C++ Qt example code running on QtCreator.
But using python3.5 and PyQt5 it gives this message:
module "QtQuick.VirtualKeyboard" is not installed
import QtQuick.VirtualKeyboard 2.1
How should I go on from here?
Does PyQt5 comes with VirtualKeyboard module? if no How to install it on PyQt5?
for qt desinger you can add only this line on your .py file.
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"
but If you want use QML with qtvirtualkeyboard;
There is no virtualkeyboard plugin in pyqt5.8, you must be use qt's paths.
For a example, basic steps for pyqt5, qt5.8 and qtvirtualkeyboard installiation on ubuntu:
1.step install qt5.8 with qtvirtualkeyboard
wget
http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run
chmod +x qt-opensource-linux-x64-5.8.0.run
./qt-opensource-linux-x64-5.8.0.run
2.step
apt-get install python3 python3-pip
pip3 install pyqt5
3.step
set environmental variables your qt paths on your python code.
import sys, os
os.environ["QT_DIR"] = "/opt/Qt5.8.0/5.8/gcc_64"
os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/plugins/platforms"
os.environ["QT_PLUGIN_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/plugins"
os.environ["QML_IMPORT_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/qml"
os.environ["QML2_IMPORT_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/qml"
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"
#print(os.environ)
from PyQt5.QtCore import *
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from PyQt5.QtQuick import *
class keyboardapp(object):
def __init__(self):
self.view = QQuickView()
self.view.setObjectName("View")
#self.view.setFlags(Qt.FramelessWindowHint)
self.view.setSource(QUrl("main.qml"))
self.view.setResizeMode(QQuickView.SizeRootObjectToView)
#self.Screen = self.view.rootObject()
#print("Screen(Root) = " + str(self.Screen))
self.view.show()
app = QApplication(sys.argv)
test = keyboardapp()
sys.exit(app.exec_())
I been stuck with this too, and i am new to Qt
After some researching, and digging in source code, found the solution
You dont need to import it to use it since its a module it will implement itself to every qt input
Well you dont need to install it on PyQt5 but on Qt5 if it is not already come with your Qt package, if you use archlinux you can install it with pacman
pacman -S qt5-virtualkeyboard
If you cannot find it in you os repositories try to build it here is documantation
https://doc.qt.io/qt-5/qtvirtualkeyboard-index.html
Then to use it in your pyqt application, set environmental variable QT_IM_MODULE to "qtvirtualkeyboard" either from your bash or inside the top your script like
import os
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"

Python 3.4/PyQt5 Cannot import QtCore

I'm trying to run an example script using PyQt 5 that contains the following:
import sys
from PyQt5 import QtCore, QtGui, uic
This throws:
ImportError: cannot import name 'QtCore'
I'm running 64-bit versions of both Python 3.4 and PyQt 5 on 64-bit Windows 10. When I try
from PyQt5 import QtCore
in the terminal it works fine; I only get the import error when running a script. Other similar questions on StackOverflow led me to check sys.path, which produced:
>>> print(sys.path)
['', 'C:\\Windows\\SYSTEM32\\python34.zip', 'C:\\Python34\\DLLs',
'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages',
'C:\\Python34\\lib\\site-packages\\PyQt5']
os.environ['PATH'].split(os.pathsep)
results in a long list of directories, including the location of PyQt5 in the Python34 folder.
I've also tried uninstalling and reinstalling both Python and PyQt, and tried PyQt4 instead of 5, all with no success.

Cannot import QtCore or QtGui from PyQt4

I have found plenty of posts regarding this issue, but no answers that work for me.
PROBLEM:
I am trying to run this code:
from PyQt4 import QtCore, QtGui
I get this error in return:
ImportError: cannot import name QtCore
I append the path to PyQt4 to sys.path (C:\Python27\Lib\site-packages\PyQt4) and importing just PyQt4 throws no errors. I can see that QtCore.pyd and QtGui.pyd are in that directory and the directory has its __init__.py file.
Specs:
Windows 7 x64
python v2.6.8
PyQt v4.10.4
If you're using Python-2.6.x, you will have to use an installer for an earlier version of PyQt4. The most recent version available is for PyQt-4.10/Qt-4.8.4, which can be downloaded from here:
PyQt4-4.10-gpl-Py2.6-Qt4.8.4-x64.exe
PyQt4-4.10-gpl-Py2.6-Qt4.8.4-x32.exe

Categories