I'm trying to make an vocabtrainer for myself to get better in english, cause I suck. To achieve this, I'm trying to make a GUI with PyQt5 to expand my programming experience too :). But somehow I can't import the QtWebEngineWidget...
This is my code:
import PyQt5.QtWidgets as pyqtW
import PyQt5.QtGui as pyqtG
import PyQt5.QtCore as pyqtC
from PyQt5.QtWebEngineWidgets import *
import sys
class VocabTrainer:
def __init__(self):
self.main = pyqtW.QApplication([])
self.window = pyqtW.QWidget()
self.prepareWindow()
sys.exit(self.main.exec_())
def prepareWindow(self):
"""
Set's the attributes of the window.
"""
# window settings
self.window.resize(250, 100)
self.window.show()
def openPons(self):
"""
Opens the website of pons to be able to translate words.
"""
pass
test = VocabTrainer()
My IDE (PyCharm) warns me that it can't find the reference of PyQt5.QtWebEngineWidgets and if I run this code, I'll get this error message:
Traceback (most recent call last):
File "/A/little/path/VocabTrainer.py", line 12, in <module>
from PyQt5.QtWebEngineWidgets import *
ImportError: libQt5Quick.so.5: cannot open shared object file: No such file or directory
Process finished with exit code 1
I've installed the modules with the following commands:
pip install pyqt5
pip install pyqtwebengine
I've also tried to reinstall the modules but without success.
Python-Version: 3.8.1
OS: Arch Linux
In the case of ArchLinux, having the most up-to-date packages, I generally recommend using the repository packages (IMHO Arch Linux is a good laboratory to test the new functionalities :-)). Considering the above, I recommend installing pyq5 and pyqtwebengine by running the following:
sudo pacman -S python-pyqt5 python-pyqtwebengine
You must also change the python that pycharm uses to the system.
Related
I keep getting errors when I use python installers (my primary installer contains various libraries such as QSci and other libraries that are part of PyQt5). For example, when I try to convert a simple project with the code below to an executable, it errors out saying ModuleNotFoundError: No module named 'PyQt5.QtPrintSupport'. The projects do compile and run well though. I wonder what is wrong? Thank you in advance!
import sys
import os
import PyQt5
from PyQt5 import QtWidgets, Qsci
from PyQt5 import QtPrintSupport
app = QtWidgets.QApplication(sys.argv)
editor = Qsci.QsciScintilla()
lexer = Qsci.QsciLexerPython(editor)
editor.setLexer(lexer)
## setup autocompletion
api = Qsci.QsciAPIs(lexer)
# import the desired api file
pyqt_path = os.path.dirname(PyQt5.__file__)
api.load(os.path.join(pyqt_path, "Qt/qsci/api/python/Python-3.6.api"))
api.prepare()
editor.setAutoCompletionThreshold(1)
editor.setAutoCompletionSource(Qsci.QsciScintilla.AcsAll)
editor.show()
editor.setText(open(sys.argv[0]).read())
sys.exit(app.exec_())
When trying to run a simple test of a database.py:
import pymysql.cursor
from PyQt5.QtCore import pyqtSignal, QObject, QTimer
This the output in the Exceptions tab of WingWare IDE:
File "c:\MyProjects\___MECHANIKOS\UltraSimpleSarlaccPit\01_UltraSimpleSarlaccPit.py", line 1, in <module>
from database import Database
 File "c:\MyProjects\___MECHANIKOS\UltraSimpleSarlaccPit\database.py", line 2, in <module>
from PyQt5.QtCore import pyqtSignal, QObject, QTimer
builtins.ImportError: DLL load failed: The specified module could not be found.`
There was an error when installing PyQt5 that says it was built for 3.5 not 3.4. So is that why?
If so, where can we download a 3.4.3 compatible version?
Thanks!
Regards,
Team Mechanikos
Try upgrading to 3.5:
Uninstall old PyQt5 and Python 3.4.3 through control panel > Programs
Install python 3.5.1, specifying making sure you specify C:\Python35\ as install location.
Install PyQt5 for 3.5 (Current).
Works.
I'm trying to work out how to use pyqtgraph so that I can use it.
I've tried to run this block of code which I found on the pyqtgraph website
import pyqtgraph.examples
pyqtgraph.examples.run()
But it always throws this error
Traceback (most recent call last):
File "/Users/willemhandreck/Code/Misc.Projects/heater_alert/python/plotly_test.py", line 1, in <module>
import pyqtgraph.examples
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyqtgraph/__init__.py", line 13, in <module>
from .Qt import QtGui
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyqtgraph/Qt.py", line 35, in <module>
from PySide import QtGui, QtCore, QtOpenGL, QtSvg
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PySide/QtGui.so, 2): Library not loaded: libpyside-python2.7.1.2.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PySide/QtGui.so
Reason: image not found
How would I fix this?
Yep, same problem here if I try to use the built-in python on the mac.
My solution is to use the anaconda python distribution:
1) Download & install Anaconda python, which already has all the right scientific modules installed. http://continuum.io/downloads#all
2) Restart your terminal and ensure you have anaconda as your python:
$ which python
/Users/caleb/anaconda/bin/python
3) Then install pyqtgraph:
$ pip install pyqtgraph
...
Successfully installed pyqtgraph-0.9.10
4) Run the examples from the command line:
$ python -m pyqtgraph.examples
or use your import... run method above.
-Caleb
This is actually a good thing.
The system python ships installed and configured to run system utilities. It's a good idea to have a separate playpen for special packages, tweaks, upgrades, experiments.
Anaconda makes it autoeasy by containing itself and its packages all within its own directory and prevents messing up anything else.
http://www.reddit.com/r/Python/comments/39qeq6/anaconda_pros_cons_mac_os_x/cs5mxwk
I am currently using a Windows XP machine (32 bit). I am new to Scribus, and have enjoyed using it over the other expensive program for desktop publishing. In Scribus I have a prewritten script I would like to run. The beginning of the script contains:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class DockDialog(QDockWidget):
I have installed Python 3.2 via ActivePython (after trying to install from python.org). After the install I then opened a DOS window and typed pypm install pyqt4, which, as far as I could tell installed properly. I then tried to run the script in Scribus and received the following message:
Traceback (most recent call last):
File "<string>", line 8, in ?
File "C:/Program Files/Scribus 1.3.3.14/share/scripts/Scribus-DockWidgets/DockWidgets.py", line 4, in ?
from PyQt4.QtCore import *
ImportError: No module named PyQt4.QtCore
I then tried reinstalling PYQT4, by typing what I had before, and I was told that PYQT4 was already installed via:
skipping "pyqt4" already installed at "%APPDATA%\Python" (3.2)
After looking in c:\Python32 in all of the directories I can not find any PYQT files. Where were they installed? How do I make sure that script is able to fing the PYQT4 files necessary to run?
My PATH variable is:
C:\Python32\;C:\Python32\Scripts;
Ultimately I would like help in getting the scribus script to work.
Thank you for your help!
Type this command to see where PyQt is installed:
pypm files --full-path pyqt4
By default, PyPM installs packages into your %APPDATA%\Python directory. If you want to install globally into C:\Python32 use the -g option (like: pypm -g install pyqt4)
How do I make sure that script is able to fing the PYQT4 files necessary to run
Are you sure that you are invoking Python 3.2? Try running pypm -g install pyqt4 if all else fails.
I'm running Python 2.6.6 on Ubuntu 10.10.
I understand that we can import a module and bind that module to a different name, e.g.
import spam as eggs
also,
from eggs import spam as foo
My problem is that when running the PySide examples, the following import code does not run:
import PySide as PyQt4
from PyQt4 import QtCore, QtGui
It generates an import error:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named PyQt4
Clearly, according to the Python interpreter the above code is incorrect, my question is why is it incorrect or rather why doesn't this work?
import and from are a special syntax.
They look for a module name, which means a file in sys.path which starts with the module name.
And it seems like you don't have PyQt4 installed, so it will fail.
The fact that you have a variable called PyQt4 in your namespace after running import PySide as PyQt4 does not change anything, Python is still looking for an actual module called PyQt4 when you do from PyQt4 import QtCore, QtGui.
Try doing
import PySide as PyQt4
QtCore = PyQt4.QtCore
QtGui = PyQt4.QtGui
or
import PySide as PyQt4
from PySide import QtCore, QtGui
That should be equivalent.
I just installed PySide and was doing a tutorial where all the examples used PyQt4. I got tired of changing the imports from PyQt4 to PySide so I just made a symlink in my site-packages, using the following steps:
1) There's surely a better way but I found where my python packages were installed by opening a shell and running python, then at the interactive interpreter typed:
>>> import sys
>>> print sys.path
2) I then found PySide in one of the directories and cd'd to it (n.b. It's at /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages if you're using the macports PySide install for python 2.7 on Mac OSX Leopard 10.5.8).
3) Then I made a symlink with ln, in my case I had to use sudo:
sudo ln -s PySide PyQt4
That's it, now I can just use:
from PyQt4 import QtGui
as normal - happy days!
Obviously, if you ever want to install PyQt4 you should rm the PyQt4 symlink first.
Another caveat: What I've described above may well be wrong/bad in many ways - I am no expert at Python installs but so far it's ok for me. YMMV so use at your own risk. Hopefully someone will comment soon to say "no, very bad!" or ideally "yeah don't sweat it, we cool.."