Spyder unable to load due to import error in Linux 64bit.
Edit: This issue also existed on previous version 3.0.0b5.
What steps will reproduce the problem?
conda create -n spyder python
conda install -c qttesting qt pyqt
conda install -c spyder-ide spyder==3.0.0b6
spyder
What is the expected output? What do you see instead?
Traceback (most recent call last):
File "/home/idwaker/miniconda3/envs/spyder/lib/python3.5/site-packages/qtpy/QtWebEngineWidgets.py", line 22, in <module>
from PyQt5.QtWebEngineWidgets import QWebEnginePage
ImportError: No module named 'PyQt5.QtWebEngineWidgets'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/idwaker/miniconda3/envs/spyder/bin/spyder", line 3, in <module>
start.main()
File "/home/idwaker/miniconda3/envs/spyder/lib/python3.5/site-packages/spyder/app/start.py", line 116, in main
from spyder.app import mainwindow
File "/home/idwaker/miniconda3/envs/spyder/lib/python3.5/site-packages/spyder/app/mainwindow.py", line 92, in <module>
from qtpy import QtWebEngineWidgets # analysis:ignore
File "/home/idwaker/miniconda3/envs/spyder/lib/python3.5/site-packages/qtpy/QtWebEngineWidgets.py", line 26, in <module>
from PyQt5.QtWebKitWidgets import QWebPage as QWebEnginePage
ImportError: libselinux.so.1: cannot open shared object file: No such file or directory
Please provide any additional information below
while using python 2, has same results
Traceback (most recent call last):
File "/home/idwaker/miniconda3/envs/spyder-py2/bin/spyder", line 3, in <module>
start.main()
File "/home/idwaker/miniconda3/envs/spyder-py2/lib/python2.7/site-packages/spyder/app/start.py", line 116, in main
from spyder.app import mainwindow
File "/home/idwaker/miniconda3/envs/spyder-py2/lib/python2.7/site-packages/spyder/app/mainwindow.py", line 92, in <module>
from qtpy import QtWebEngineWidgets # analysis:ignore
File "/home/idwaker/miniconda3/envs/spyder-py2/lib/python2.7/site-packages/qtpy/QtWebEngineWidgets.py", line 26, in <module>
from PyQt5.QtWebKitWidgets import QWebPage as QWebEnginePage
ImportError: libselinux.so.1: cannot open shared object file: No such file or directory
output of conda list
# packages in environment at /home/idwaker/miniconda3/envs/spyder:
#
alabaster 0.7.8 py35_0
astroid 1.4.4 py35_0
babel 2.3.3 py35_0
cairo 1.12.18 6
decorator 4.0.10 py35_0
docutils 0.12 py35_2
entrypoints 0.2.2 py35_0
expat 2.1.0 0
fontconfig 2.11.1 6
freetype 2.5.5 1
glib 2.43.0 1
harfbuzz 0.9.39 1
icu 54.1 0
imagesize 0.7.1 py35_0
ipykernel 4.4.1 py35_0
ipython 5.1.0 py35_0
ipython_genutils 0.1.0 py35_0
jedi 0.9.0 py35_1
jinja2 2.8 py35_1
jpeg 8d 1
jsonschema 2.5.1 py35_0
jupyter_client 4.3.0 py35_0
jupyter_core 4.1.1 py35_0
lazy-object-proxy 1.2.1 py35_0
libffi 3.2.1 0
libgcc 5.2.0 0
libpng 1.6.22 0
libsodium 1.0.10 0
libxml2 2.9.2 0
logilab-common 1.0.2 py35_0
markupsafe 0.23 py35_2
mistune 0.7.2 py35_0
nbconvert 4.2.0 py35_0
nbformat 4.0.1 py35_0
openssl 1.0.2h 1
pango 1.39.0 1
path.py 8.2.1 py35_0
pep8 1.7.0 py35_0
pexpect 4.0.1 py35_0
pickleshare 0.7.3 py35_0
pip 8.1.2 py35_0
pixman 0.32.6 0
prompt_toolkit 1.0.3 py35_0
psutil 4.3.0 py35_0
ptyprocess 0.5.1 py35_0
pyflakes 1.2.3 py35_0
pygments 2.1.3 py35_0
pylint 1.5.4 py35_0
python 3.5.2 0
pytz 2016.6.1 py35_0
pyzmq 15.4.0 py35_0
qtawesome 0.3.3 py35_0
qtconsole 4.2.1 py35_0
dbus 1.11.2 3 qttesting
gst-plugins-base 1.8.0 0 qttesting
gstreamer 1.8.0 0 qttesting
libxcb 1.11.1 0 qttesting
pyqt 5.6.0 py35_0 qttesting
qt 5.6.0 0 qttesting
readline 6.2 2
rope 0.9.4 py35_1
setuptools 25.1.6 py35_0
simplegeneric 0.8.1 py35_1
six 1.10.0 py35_0
snowballstemmer 1.2.1 py35_0
sphinx 1.4.1 py35_0
sphinx_rtd_theme 0.1.9 py35_0
qtpy 1.1.1 py_0 spyder-ide
sip 4.18 py35_0 spyder-ide
spyder 3.0.0b6 py35_1 spyder-ide
sqlite 3.13.0 0
tk 8.5.18 0
tornado 4.4.1 py35_0
traitlets 4.2.2 py35_0
wcwidth 0.1.7 py35_0
wheel 0.29.0 py35_0
wrapt 1.10.6 py35_0
xz 5.2.2 0
zeromq 4.1.4 0
zlib 1.2.8 3
Thanks for reporting. This error happens because libQt5WebKit.so
depends on libselinux.so.1
and you don't have it installed in your system (that library is not provided by Anaconda).
I don't know what Linux distro you're using, but in Ubuntu you can run
sudo apt-get install libselinux1
to install it.
@mingwandroid, why Webkit ends up compiled against selinux? I checked other Qt libraries (e.g. QtWidgets) and they don't have that dependency :-)
I'm not sure why. I'll have to look into it. Is it possible to assign this issue to me?
Any update on a fix for this? I recently updated all my conda packages and this popped up. I had to revert back to the old qt and pyqt for now in order to use Spyder, but I'd like to update everything soon.
I should also note that I'm on a system without root access so I can't sudo or install general things outside of the scope of conda/pip.
WebKit links to selinux to allow requesting WX (write and execute) pages. Without this it cannot use JIT.
Exactly which Linux mint are you using? Is there any reason why you didn't select selinux at install time? Even centos5 has selinux.
I can disable JIT but it will slow down all apps using QtWebkit which is going to be most of the big ones.
Hm, never mind. This isn't the error I'm getting at this point. I can open another issue if you want, but the error I get (on both my Linux and Mac) is:
Traceback (most recent call last):
File "/Users/ekruse/anaconda/bin/spyder", line 3, in <module>
start_app.main()
File "/Users/ekruse/anaconda/lib/python2.7/site-packages/spyderlib/start_app.py", line 114, in main
from spyderlib import spyder
File "/Users/ekruse/anaconda/lib/python2.7/site-packages/spyderlib/spyder.py", line 48, in <module>
requirements.check_qt()
File "/Users/ekruse/anaconda/lib/python2.7/site-packages/spyderlib/requirements.py", line 50, in check_qt
% (qt_infos['pyqt']+qt_infos['pyside']))
File "/Users/ekruse/anaconda/lib/python2.7/site-packages/spyderlib/requirements.py", line 25, in show_warning
raise RuntimeError(message)
RuntimeError: Please check Spyder installation requirements:
PyQt4 4.6+ (or PySide 1.2.0+) is required.
Presumably because you now need to do import PyQt5 instead of PyQt4...
Well, currently things are a little in-flux. I still must determine why you had trouble with selinux and whether it is going to present a problem for the upcoming release. I'd appreciate the details of your Linux Mint version if possible.
@ethankruse, this problem is caused by an update in qtpy
. We're working to fix it right now :-)
I meant your problem :-)
@ethankruse any chance of giving me exact version numbers of your Mint install? I'd also like to know what packages you have installed if possible (via dpkg --get-selections
I believe).
Wait sorry @mingwandroid is this about the selinux issue? I'm not having that. I jumped into the thread assuming my qt5* problem was the same, but apparently didn't read the exact error message closely enough. Sounds like @ccordoba12 has my problem under control.
Ah yes, I see now. @idwaker, I'd like to ask you those same questions then.
@ethankruse, please don't pollute our issues for the next time (the title of this issue is quite clear about selinux :-)
After re-reading your last error, I think your problem has to do with incorrect declared dependencies of pyqt on qt. It's currently fixed by Continuum.
@mingwandroid this issue occurred in Solus (1.2.0.5), which i guess didn't have any libselinux related packages ( in its repository ).
@idwaker, it's hard for Continuum to support every Linux distro under the sun :-)
And as @mingwandroid said:
WebKit links to selinux to allow requesting WX (write and execute) pages. Without this it cannot use JIT.
selinux is very important to have a fast rendering Qt Webkit module ;-)
This bit me this AM on Arch Linux, and I wanted to make a note for Arch users that while selinux 1 is not available on arch, installing selinux 2.5 from the Arch User Repository _appears_ to resolve the issue (in other words it boots up but I haven't used it extensively yet).
Unfortunately this won't change in the future. Without linking to selinux
QtWebkit looses JIT capabilities, meaning that it'd be quite slow.
If "this won't change in the future", why did it change in the recent past? I've never needed selinux to launch spyder all the way through Anaconda4.1.1 (Spyder 2.3.9, Python 3.5.2 64bits, Qt 4.8.7, PyQt4 (API v2) 4.11.4 on Linux). Yet starting with 4.2 this is suddenly absolutely required because Qt5?
This seems like a step backwards...
(All my production machines run slackware, for which there is no selinux. Neither for SuSE. Are you seriously committing development to a path that cuts out major Linux distributions forever?)
Our Qt4 builds did not have a QtWebkit with JIT enabled, our Qt5 builds do as that was enabled later by The Qt Project. Spyder and particularly RStudio are unusably slow without JIT.
In terms of whether we can do anything about it, it's a cost-benefits calculation. It may be possible for us to build an selinux library for such distros (but IMHO if they want to take their users' security seriously they should implement selinux).
All my production machines run slackware, for which there is no selinux.
From https://distrowatch.com/dwres.php?resource=popularity slackware is not popular and is dropping down the popularity charts rapidly.
Neither for SuSE
I tested RStudio, Spyder and QtCreator on openSUSE tumbleweed. selinux is available there: https://en.opensuse.org/SDB:SELinux
Yet starting with 4.2 this is suddenly absolutely required because Qt5?
Yes, that's mainly the problem. Qt5 demands now to have libselinux for QtWebkit's Javascript JIT compilation. However, that's how Continuum created packages for it, and I think they're thinking to include a libselinux package in a future release (maybe Anaconda 4.3).
Are you seriously committing development to a path that cuts out major Linux distributions forever?
You can still install Spyder and PyQt5 with pip instead of with Anaconda/Miniconda. However, that has its problems too, like #3520.
Closing, as this is not something we can solve in Spyder.
Facing the same problem.. can any body help..
Thanks
Just install libselinux. It's mentioned above...
El 07/11/17 a las 09:52, Siraj Muhammad escribió:
>
Facing the same problem.. can any body help..
Thanks
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/spyder-ide/spyder/issues/3383#issuecomment-342506145,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWS7UP6dzxmno29GzfaBH7_2priV0jMks5s0G6bgaJpZM4JxPBN.
Most helpful comment
This bit me this AM on Arch Linux, and I wanted to make a note for Arch users that while selinux 1 is not available on arch, installing selinux 2.5 from the Arch User Repository _appears_ to resolve the issue (in other words it boots up but I haven't used it extensively yet).