Bug 226461 - devel/py-spyder: Fails to start
Summary: devel/py-spyder: Fails to start
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Steve Wills
URL:
Keywords:
: 232599 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-03-08 21:10 UTC by Jason W. Bacon
Modified: 2018-12-09 15:29 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (lbartoletti)


Attachments
update py36-spyder with numpydoc, parso and pylint (1.74 KB, patch)
2018-03-13 21:13 UTC, Loïc Bartoletti
lbartoletti: maintainer-approval+
Details | Diff
add patch (2.31 KB, patch)
2018-03-14 05:34 UTC, Loïc Bartoletti
lbartoletti: maintainer-approval+
Details | Diff
remove pylint option is a requirement (2.68 KB, patch)
2018-03-14 05:36 UTC, Loïc Bartoletti
lbartoletti: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jason W. Bacon freebsd_committer freebsd_triage 2018-03-08 21:10:55 UTC
Looks like everything that should be installed is there, but it can't find pyqt5.

FreeBSD unixdev1.hpc bacon ~ 405: spyder3
Traceback (most recent call last):
  File "/usr/local/bin/spyder3", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3147, in <module>
    @_call_aside
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3131, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3160, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 666, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 984, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 870, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pyqt5<5.10' distribution was not found and is required by spyder

root@unixdev1:/usr/ports/devel/py-spyder # pkg info | grep py36-qt
py36-qt4-core-4.12.1_4,1       Python bindings for the Qt4 toolkit, QtCore module
py36-qt4-gui-4.12.1_1,1        Python bindings for the Qt4 toolkit, QtGui module
py36-qt4-svg-4.12.1_1,1        Python bindings for the Qt4 toolkit, QtSvg module
py36-qt5-5.9.2_2               Python bindings for the Qt 5 toolkit (meta port)
py36-qt5-core-5.9.2_3          Python bindings for the Qt5 toolkit, QtCore module
py36-qt5-dbus-5.9.2_3          Python bindings for the Qt5 toolkit, QtDBus module
py36-qt5-dbussupport-5.9.2_1   Qt event loop support for dbus-python
py36-qt5-demo-5.9.2_2          Python bindings for the Qt5 toolkit, Qt demo and examples
py36-qt5-designer-5.9.2_3      Python bindings for the Qt5 toolkit, QtDesigner module
py36-qt5-designerplugin-5.9.2_1 Python bindings for the Qt5 toolkit, QtDesigner plugin
py36-qt5-gui-5.9.2_2           Python bindings for the Qt5 toolkit, QtGui module
py36-qt5-multimedia-5.9.2_3    Python bindings for the Qt5 toolkit, QtMultimedia module
py36-qt5-multimediawidgets-5.9.2_3 Python bindings for the Qt5 toolkit, QtMultimediaWidgets module
py36-qt5-network-5.9.2_3       Python bindings for the Qt5 toolkit, QtNetwork module
py36-qt5-opengl-5.9.2_3        Python bindings for the Qt5 toolkit, QtOpenGL module
py36-qt5-printsupport-5.9.2_3  Python bindings for the Qt5 toolkit, QtPrintSupport module
py36-qt5-qml-5.9.2_3           Python bindings for the Qt5 toolkit, QML module
py36-qt5-qscintilla2-2.10.2_3  Python bindings for QScintilla2 (PyQt5), QSci module
py36-qt5-serialport-5.9.2_3    Python bindings for the Qt5 toolkit, QtSerialPort module
py36-qt5-sql-5.9.2_3           Python bindings for the Qt5 toolkit, QtSql module
py36-qt5-svg-5.9.2_3           Python bindings for the Qt5 toolkit, QtSvg module
py36-qt5-test-5.9.2_3          Python bindings for the Qt5 toolkit, QtTest module
py36-qt5-webchannel-5.9.2_2    Python bindings for the Qt5 toolkit, QtWebChannel module
py36-qt5-webengine-5.9.2_2     Python bindings for the Qt5 toolkit, QtWebEngine module
py36-qt5-webkit-5.9.2_3        Python bindings for the Qt5 toolkit, QtWebKit module
py36-qt5-webkitwidgets-5.9.2_3 Python bindings for the Qt5 toolkit, QtWebKitWidgets module
py36-qt5-widgets-5.9.2_3       Python bindings for the Qt5 toolkit, QtWidgets module
py36-qt5-xml-5.9.2_3           Python bindings for the Qt5 toolkit, QtXml module
py36-qt5-xmlpatterns-5.9.2_3   Python bindings for the Qt5 toolkit, QtXmlPatterns module
py36-qtconsole-4.3.0           Qt-based console for Jupyter with support for rich media output
Comment 1 Walter Schwarzenfeld freebsd_triage 2018-03-13 17:51:49 UTC
If I comment out the line 294 with pyqt5<5.10 in setup.py there are more of them:

pkg_resources.DistributionNotFound: The 'numpydoc' distribution was not found and is required by spyder

pkg_resources.DistributionNotFound: The 'parso==0.1.9' distribution was not found and is required by jedi 

The paro port has 0.1.1.
Comment 2 Walter Schwarzenfeld freebsd_triage 2018-03-13 17:53:28 UTC
corr: pkg_resources.DistributionNotFound: The 'parso==0.1.0' distribution was not found and is required by jedi                             ^^
Comment 3 Loïc Bartoletti freebsd_committer freebsd_triage 2018-03-13 19:30:25 UTC
Thanks for your reports. I'm working on it.
Comment 4 Loïc Bartoletti freebsd_committer freebsd_triage 2018-03-13 21:13:50 UTC
Created attachment 191474 [details]
update py36-spyder with numpydoc, parso and pylint

depends on bug #226580

Please, can you test this patch? works at home (c)
Comment 5 Walter Schwarzenfeld freebsd_triage 2018-03-13 21:24:09 UTC
OPTIONS_GROUP_OPTIONAL= 
PYLINT should removed.
Comment 6 Walter Schwarzenfeld freebsd_triage 2018-03-13 22:09:24 UTC
It builds and starts.
Two problems:
qt5-webkit-5.212.0.a2_5 needs Python 2.7 at most, but 3.6 was specified.
(but this may another PR...).

and
it seems to close but ps auxwww shows, spyder3 still running (maybe it's only on my box or it is a problem with qt5-webkit which I installed via package).
Comment 7 Jason W. Bacon freebsd_committer freebsd_triage 2018-03-14 00:47:35 UTC
I still get the same error:

root@unixdev1:/usr/ports/devel/py-spyder # patch < ~bacon/patch 
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: Makefile
|===================================================================
|--- Makefile	(r'evision 464142)
|+++ Makefile	(copie de travail)
--------------------------
Patching file Makefile using Plan A...
Hunk #1 succeeded at 21.
Hunk #2 succeeded at 48.
Hunk #3 succeeded at 62.
Hmm...  Ignoring the trailing garbage.
done

[make clean deinstall reinstall]

===>   Registering installation for py36-spyder-3.2.7_1
Installing py36-spyder-3.2.7_1...
root@unixdev1:/usr/ports/devel/py-spyder # exit
FreeBSD unixdev1.hpc bacon ~ 412: which spyder3
/usr/local/bin/spyder3
FreeBSD unixdev1.hpc bacon ~ 413: spyder3
Traceback (most recent call last):
  File "/usr/local/bin/spyder3", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3147, in <module>
    @_call_aside
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3131, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3160, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 666, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 984, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 870, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pyqt5<5.10' distribution was not found and is required by spyder
Comment 8 Walter Schwarzenfeld freebsd_triage 2018-03-14 00:52:44 UTC
You have also use the patch to update jedi bug #226580.
Comment 9 Jason W. Bacon freebsd_committer freebsd_triage 2018-03-14 02:22:16 UTC
Nope, still the same error.  :-(
Comment 10 Walter Schwarzenfeld freebsd_triage 2018-03-14 02:59:31 UTC
Comment out the line 294 in /usr/ports/devel/py-spyder/work-py36/spyder-3.2.7/setup.py (the line with 'pyqt5<5.10'). Let's see if there is another error-message.
(I think the 'pyqt5<5.10' message appears, if any component is missing).
Comment 11 Jason W. Bacon freebsd_committer freebsd_triage 2018-03-14 04:02:28 UTC
FreeBSD unixdev1.hpc bacon ~ 431: spyder3
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 681, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 999, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 890, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (parso 0.1.1 (/usr/local/lib/python3.6/site-packages), Requirement.parse('parso==0.1.0'), {'jedi'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/spyder3", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3195, in <module>
    @_call_aside
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3179, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3208, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 683, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 696, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 885, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'parso==0.1.0' distribution was not found and is required by jedi
Comment 12 Walter Schwarzenfeld freebsd_triage 2018-03-14 05:02:48 UTC
Something went wrong on your system with the jedi update.
Comment 13 Loïc Bartoletti freebsd_committer freebsd_triage 2018-03-14 05:34:58 UTC
Created attachment 191486 [details]
add patch

sorry missing svn add files...
Comment 14 Loïc Bartoletti freebsd_committer freebsd_triage 2018-03-14 05:36:22 UTC
Created attachment 191487 [details]
remove pylint option is a requirement
Comment 15 Walter Schwarzenfeld freebsd_triage 2018-03-14 05:50:40 UTC
My problems with closing/quitting py-spyder are solved after I build qt5-webkit with the port.
Comment 16 Jason W. Bacon freebsd_committer freebsd_triage 2018-03-14 15:16:06 UTC
(In reply to w.schwarzenfeld from comment #15)

Are you using current or quarterly binary packages?

FreeBSD manatee.acadix  bacon ~ 1001: more /usr/local/etc/pkg/repos/FreeBSD.conf 
FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest"
}
Comment 17 Walter Schwarzenfeld freebsd_triage 2018-03-14 15:23:28 UTC
Latest! But normally no package, I build either with portmaster or with poudriere.
py-jedi update is committed few minutes ago - ports r464503.
Comment 18 adam.day 2018-03-29 20:14:36 UTC
This is likely caused by the python-dateutil v2.7.0 or greater which was released on 3/18. If you downgrade python-dateutil to 2.6.1, these dependency errors should go away. This is a known issue

https://github.com/boto/botocore/pull/1402

Command to downgrade is: $ pip install "python-dateutil<2.7.0,>=2.1"
Collecting python-dateutil<2.7.0,>=2.1

which should result in: Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
    100% |████████████████████████████████| 194kB 1.6MB/s 
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.6/site-packages (from python-dateutil<2.7.0,>=2.1)
Installing collected packages: python-dateutil
  Found existing installation: python-dateutil 2.7.2
    Uninstalling python-dateutil-2.7.2:
      Successfully uninstalled python-dateutil-2.7.2
Successfully installed python-dateutil-2.6.1
Comment 19 Jason W. Bacon freebsd_committer freebsd_triage 2018-04-02 17:08:39 UTC
Thanks, but it doesn't look like that's the issue here...

I've been using 2.6.1 all along:

FreeBSD unixdev1.hpc bacon ~ 1001: pkg info py27-dateutil
py27-dateutil-2.6.1
Name           : py27-dateutil
Version        : 2.6.1
Installed on   : Sun Dec 31 10:14:34 2017 CST
Origin         : devel/py-dateutil
Architecture   : FreeBSD:11:*
Prefix         : /usr/local
Categories     : python devel
Licenses       : BSD3CLAUSE
Maintainer     : koobs@FreeBSD.org
WWW            : https://dateutil.readthedocs.io
Comment        : Extensions to the standard Python datetime module
Annotations    :
	flavor         : py27
	repo_type      : binary
	repository     : FreeBSD
Flat size      : 723KiB
Description    :
The dateutil module provides powerful extensions to the standard
datetime module.

WWW: https://dateutil.readthedocs.io
Comment 20 mauro.risonho@gmail.com 2018-10-24 12:32:38 UTC
*** Bug 232599 has been marked as a duplicate of this bug. ***
Comment 21 commit-hook freebsd_committer freebsd_triage 2018-12-09 13:11:35 UTC
A commit references this bug:

Author: swills
Date: Sun Dec  9 13:11:16 UTC 2018
New revision: 487042
URL: https://svnweb.freebsd.org/changeset/ports/487042

Log:
  devel/py-spyder: Fix startup

  While here, fix issue with updated ipython

  PR:		226461
  Submitted by:	lbartoletti@tuxfamily.org (maintainer, except ipython fix)
  Reported by:	jwb

Changes:
  head/devel/py-spyder/Makefile
  head/devel/py-spyder/files/
  head/devel/py-spyder/files/patch-setup.py
Comment 22 Steve Wills freebsd_committer freebsd_triage 2018-12-09 13:13:28 UTC
Was able to reproduce this and the patch (along with an additional change to deal with the ipython update and it's dependency on prompt_command2) seems to fix it. Committed, thanks!
Comment 23 Jason W. Bacon freebsd_committer freebsd_triage 2018-12-09 15:29:48 UTC
Working for me, thanks!