Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 689064 - dev-python/spyder-4.0.0_beta1 should not depend on dev-python/PyQt5[webengine]
Summary: dev-python/spyder-4.0.0_beta1 should not depend on dev-python/PyQt5[webengine]
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Andrey Grozin
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-01 08:14 UTC by Nowa Ammerlaan
Modified: 2019-11-17 21:12 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
edited ebuild, now depends on PyQtwebengine (spyder-4.0.0_beta1-r2.ebuild,2.56 KB, text/plain)
2019-07-01 08:14 UTC, Nowa Ammerlaan
Details
patch for spyder-4.0.0_beta1 (spyder.patch,985 bytes, patch)
2019-07-10 11:03 UTC, Helmut Jarausch
Details | Diff
ebuild for 4.0.0_beta3 (spyder-4.0.0_beta3.ebuild,2.64 KB, text/plain)
2019-07-10 15:51 UTC, Helmut Jarausch
Details
ebuild for qtconsole-4.5.1 (qtconsole-4.5.1.ebuild,1.66 KB, text/plain)
2019-07-10 15:52 UTC, Helmut Jarausch
Details
ebuild for pyls-0.27.0 (pyls-0.27.0.ebuild,595 bytes, text/plain)
2019-07-10 15:52 UTC, Helmut Jarausch
Details
ebuild for QDarkStyleSheet-2.7 (QDarkStyleSheet-2.7.ebuild,498 bytes, text/plain)
2019-07-10 15:53 UTC, Helmut Jarausch
Details
spyder-4.0.0_beta3 ebuild with added dependencies (spyder-4.0.0_beta3.ebuild,2.85 KB, text/plain)
2019-07-11 08:48 UTC, Nowa Ammerlaan
Details
pylse-0.27.0 ebuild with added dependencies (pyls-0.27.0.ebuild,684 bytes, text/plain)
2019-07-11 08:48 UTC, Nowa Ammerlaan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nowa Ammerlaan gentoo-dev 2019-07-01 08:14:41 UTC
Created attachment 581598 [details]
edited ebuild, now depends on PyQtwebengine

As of dev-python/PyQt5-5.12 PyQt5 no longer has the webengine use flag, see:
https://bugs.gentoo.org/688184 and https://bugs.gentoo.org/679202
Instead the webengine part is now provided by dev-python/PyQtwebeninge.

If spyder-4.0.0 is installed portage will complain that it can't update PyQt5 since the new version no longer satisfies spyder's PyQt5[webeninge] dependency. 

I solved this by copying the spyder ebuild to my local overlay and changing the line: "dev-python/PyQt5[${PYTHON_USEDEP},svg,webengine?,webkit?]" to
"|| ( <dev-python/PyQt5-5.12.0[${PYTHON_USEDEP},svg,webengine?,webkit?] ( >=dev-python/PyQt5-5.12.0[${PYTHON_USEDEP}] dev-python/PyQtWebEngine[${PYTHON_USEDEP}] ) )"

After completing the update, spyder still runs just fine. I have attached the edited ebuild file, please let me know if I have changed the dependencies correctly, this is my first time messing with ebuilds.
Comment 1 Helmut Jarausch 2019-07-10 11:03:16 UTC
Created attachment 582356 [details, diff]
patch for spyder-4.0.0_beta1

I've patched the ebuild like in the attachment.
Furthermore, one can bump to version 4.0.0_beta3 (renaming the patch spyder-4.0.0_beta1-build.patch)
Comment 2 Nowa Ammerlaan gentoo-dev 2019-07-10 12:09:27 UTC
I tried updating the ebuild to beta3, but I couldn't run spyder because of a missing dependency that was added in beta2 (Qdarkstyle). I'm not sure which package (if any) would provided that dependency.
Comment 3 Helmut Jarausch 2019-07-10 15:51:29 UTC
Created attachment 582364 [details]
ebuild for 4.0.0_beta3

Unfortunately, version 4.0.0_beta3 needs in addition
>=dev-python/pyls-0.27.0
dev-python/QDarkStyleSheet
>=dev-python/qtconsole-4.5.0

I have attached ebuild for these packages.
Comment 4 Helmut Jarausch 2019-07-10 15:52:07 UTC
Created attachment 582366 [details]
ebuild for qtconsole-4.5.1
Comment 5 Helmut Jarausch 2019-07-10 15:52:53 UTC
Created attachment 582370 [details]
ebuild for pyls-0.27.0
Comment 6 Helmut Jarausch 2019-07-10 15:53:35 UTC
Created attachment 582372 [details]
ebuild for QDarkStyleSheet-2.7
Comment 7 Nowa Ammerlaan gentoo-dev 2019-07-10 17:09:04 UTC
I tested your ebuilds, all compile just fine :)

spyder_beta3 should additionally depend on dev-python/atomicwrites, otherwise it will complain when it starts.

However after emerging atomicwrites, spyder complains about missing module 'diff_match_patch', seems to be this little library here: https://github.com/google/diff-match-patch
Comment 8 Nowa Ammerlaan gentoo-dev 2019-07-10 17:39:22 UTC
Alright to get everything working without complaining about missing desps i had to install:
additional deps for spyder:
dev-python/atomicwrites
dev-python/diff-match-patch
dev-python/watchdog

Additional deps for pyls:
dev-python/future
dev-python/pluggy

However now spyder is crashing immediately after it has started, I'll see if I can find out what's going on.
Comment 9 Nowa Ammerlaan gentoo-dev 2019-07-10 18:37:38 UTC
'spyder3 --reset' fixed the issue. not sure what was causing it, but it's working now :D
Comment 10 Nowa Ammerlaan gentoo-dev 2019-07-11 08:48:07 UTC
Created attachment 582492 [details]
spyder-4.0.0_beta3 ebuild with added dependencies
Comment 11 Nowa Ammerlaan gentoo-dev 2019-07-11 08:48:42 UTC
Created attachment 582494 [details]
pylse-0.27.0 ebuild with added dependencies
Comment 12 Jeff Hubbs 2019-08-09 14:12:02 UTC
Can someone review and update here the process for getting this spyder-4.0.0_beta3 going? I'm having a conflict over mdds-9999 and a patch operation failing, but I'd like to be able to end-to-end the process before posting my situation to the bug entry. I already have a local repository with pyls, QDarkStyleSheet, qtconsole, and spyder set up.
Comment 13 Nowa Ammerlaan gentoo-dev 2019-08-09 14:28:41 UTC
Did you copy spyder-4.0.0_beta1-build.patch from portage to spyder-4.0.0_beta3-build.patch in your local repo?

Step by step would be to add the spyder, pyls, qdarkstylesheet and qtconsole ebuilds to your local repo, copy and rename spyder's patch file, create manifests for the ebuilds and install.

I'm not sure about mdds, I haven't touched that.
Comment 14 Jeff Hubbs 2019-08-09 15:19:15 UTC
Here's where I am with it now. I got it to where beta3 will build, but here's what happens when i run it, even after doing a spyder3 --reset.

$ spyder3
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/spyder/app/mainwindow.py", line 3495, in main
    mainwindow = run_spyder(app, options, args)
  File "/usr/lib64/python3.6/site-packages/spyder/app/mainwindow.py", line 3344, in run_spyder
    main.setup()
  File "/usr/lib64/python3.6/site-packages/spyder/app/mainwindow.py", line 1245, in setup
    self.setup_layout(default=False)
  File "/usr/lib64/python3.6/site-packages/spyder/app/mainwindow.py", line 1530, in setup_layout
    self.setup_default_layouts('default', settings)
  File "/usr/lib64/python3.6/site-packages/spyder/app/mainwindow.py", line 1752, in setup_default_layouts
    widget.toggle_view(True)
  File "/usr/lib64/python3.6/site-packages/spyder/plugins/ipythonconsole/plugin.py", line 226, in toggle_view
    self.create_new_client(give_focus=False)
  File "/usr/lib64/python3.6/site-packages/spyder/plugins/ipythonconsole/plugin.py", line 689, in create_new_client
    is_pylab=is_pylab, is_sympy=is_sympy)
  File "/usr/lib64/python3.6/site-packages/spyder/plugins/ipythonconsole/plugin.py", line 742, in connect_client_to_kernel
    kc.start_channels(shell=True, iopub=True)
  File "/usr/lib64/python3.6/site-packages/qtconsole/kernel_mixins.py", line 47, in start_channels
    super(QtKernelClientMixin, self).start_channels(*args, **kw)
  File "/usr/lib64/python3.6/site-packages/jupyter_client/threaded.py", line 209, in start_channels
    self.shell_channel._inspect = self._check_kernel_info_reply
  File "/usr/lib64/python3.6/site-packages/jupyter_client/client.py", line 143, in shell_channel
    socket, self.session, self.ioloop
  File "/usr/lib64/python3.6/site-packages/jupyter_client/threaded.py", line 202, in ioloop
    self._ioloop = ioloop.IOLoop()
  File "/usr/lib64/python3.6/site-packages/tornado/util.py", line 312, in __new__
    instance.initialize(*args, **init_kwargs)
  File "/usr/lib64/python3.6/site-packages/zmq/eventloop/ioloop.py", line 139, in initialize
    super(ZMQIOLoop, self).initialize(impl=impl, **kwargs)
  File "/usr/lib64/python3.6/site-packages/tornado/ioloop.py", line 853, in initialize
    super(PollIOLoop, self).initialize(**kwargs)
  File "/usr/lib64/python3.6/site-packages/tornado/ioloop.py", line 356, in initialize
    self.make_current()
  File "/usr/lib64/python3.6/site-packages/tornado/ioloop.py", line 314, in make_current
    assert asyncio is None
AssertionError

I get the same thing even after I removed ~/.config/spyder-py3-dev, .../spyder-py3, and .../Spyderrc. After I get the above error, I'm left with "/usr/bin/python3.6 -u /usr/lib64/python3.6/site-packages/spyder/plugins/editor/lsp/transport/main.py" taking up 100% of a thread and ~6.2M/s of net I/O on loopback.
Comment 15 Jeff Hubbs 2019-08-09 16:11:26 UTC
(In reply to Andrew Ammerlaan from comment #13)
> Did you copy spyder-4.0.0_beta1-build.patch from portage to
> spyder-4.0.0_beta3-build.patch in your local repo?

I copied it from portage to the local repo and made a symlink.

> 
> Step by step would be to add the spyder, pyls, qdarkstylesheet and qtconsole
> ebuilds to your local repo, copy and rename spyder's patch file, create
> manifests for the ebuilds and install.
> 
> I'm not sure about mdds, I haven't touched that.

Resolved mdds.
Comment 16 Jeff Hubbs 2019-08-09 17:07:09 UTC
Fixed it. Had to downgrade to tornado-4.5.3.
Comment 17 Nowa Ammerlaan gentoo-dev 2019-08-09 17:19:42 UTC
(In reply to Jeff Hubbs from comment #16)
> Fixed it. Had to downgrade to tornado-4.5.3.

Could that be this bug: https://github.com/jupyter/notebook/issues/3397
In which case dev-python/notebook and/or dev-python/jupyter_client should probably depend on =www-servers/tornado-4.5.3, I think that would have to go in a separate bug report though.
Comment 18 Nowa Ammerlaan gentoo-dev 2019-08-13 11:53:23 UTC
Has anyone gotten beta4 to work? For me it compiles successfully, but then it freezes completely after it has started up (nothing out of the ordinary on the console)

Also, beta3 works just fine with tornado-5.1 for me. (jupyter_core-4.4.0-r1, jupyter_client-5.2.4)
Comment 19 Larry the Git Cow gentoo-dev 2019-11-17 21:12:35 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=084491ed479cd2dfe385f9f3f1f31e46ed5a78e5

commit 084491ed479cd2dfe385f9f3f1f31e46ed5a78e5
Author:     Davide Pesavento <pesa@gentoo.org>
AuthorDate: 2019-11-17 21:11:53 +0000
Commit:     Davide Pesavento <pesa@gentoo.org>
CommitDate: 2019-11-17 21:12:26 +0000

    dev-python/spyder: avoid direct dependency on dev-python/PyQt5
    
    That's why QtPy exists in the first place. It also fixes bug 689064.
    
    Closes: https://bugs.gentoo.org/689064
    Package-Manager: Portage-2.3.79, Repoman-2.3.18
    Signed-off-by: Davide Pesavento <pesa@gentoo.org>

 dev-python/spyder/spyder-3.2.4.ebuild          | 1 -
 dev-python/spyder/spyder-3.2.8.ebuild          | 1 -
 dev-python/spyder/spyder-3.3.0.ebuild          | 3 +--
 dev-python/spyder/spyder-3.3.1.ebuild          | 3 +--
 dev-python/spyder/spyder-4.0.0_beta1-r1.ebuild | 1 -
 dev-python/spyder/spyder-4.0.0_beta1.ebuild    | 3 +--
 6 files changed, 3 insertions(+), 9 deletions(-)