fink / fink-distributions

Package descriptions and patches for Fink
25 stars 38 forks source link

ipython-genutils MIA #139

Open dmacks opened 6 years ago

dmacks commented 6 years ago

nbconvert-pyXX and nbformat-pyXX are unbuildable because they have a Depends:ipython-genutils-pyXX but no such package exists in our repo. While trying to see if some other package supplied a pymod with that name, I got the following in python3.6:

>>> import traitlets
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/sw/lib/python3.6/site-packages/traitlets/__init__.py", line 1, in <module>
    from .traitlets import *
  File "/sw/lib/python3.6/site-packages/traitlets/traitlets.py", line 56, in <module>
    from ipython_genutils import py3compat
ModuleNotFoundError: No module named 'ipython_genutils'

so our traitlets-pyXX package is missing a dependency on python-genutils-pyXX (and is also therefore broken because we have no such package). Could you please look into packaging that module? Or else, are there newer versions of the nb* and traitlets available that don't use what is seemingly a deprecated module?

schwehr commented 6 years ago

ipython has turned into a zillion little python modules. Such a pain to package the whole deal now. sigh.

dhomeier commented 6 years ago

@schwehr, I've been working on an ipython/jupyter update set for a while and finally got a working installation in my local tree. Includes a couple of circular dependencies, and putting the whole bunch on the Sourceforge tracker seemed almost as much of a pain... I will try to put a PR together here in the not so distant future, just so you don't duplicate too much work.

dhomeier commented 6 years ago

There also is the question of naming conventions - I think neither of the existing jupyter-{client, core}-py packages actually provide an executable to run .ipynb notebooks, right? I have created a notebook-py packages that contains the jupyter-notebook-pyNN executable; one might argue if this would better be named jupyter-py...

schwehr commented 6 years ago

Sorry... I've just had kid #2 and haven't time to look at fink in ages. The state of things is such that anything is likely to be a huge improvement.

dmacks commented 6 years ago

Congratulations! Interesting how github linkified that to an "issue".

dhomeier commented 6 years ago

Congratulations from me as well! I've started to add the various micropackages required by ipython in #164 now, got as far as to the new nbconvert version. I wanted to make sure nothing breaks at an intermediate stage, but wasn't even able to get any of the existing ipython variants (3.2.1-2) to run at all:

> ipython-py35                                                                                                                                     
Traceback (most recent call last):
  File "/sw/bin/ipython-py35", line 4, in <module>
    from IPython import start_ipython
  File "/sw/lib/python3.5/site-packages/IPython/__init__.py", line 45, in <module>
    from .config.loader import Config
  File "/sw/lib/python3.5/site-packages/IPython/config/__init__.py", line 6, in <module>
    from .application import *
  File "/sw/lib/python3.5/site-packages/IPython/config/application.py", line 19, in <module>
    from IPython.config.configurable import SingletonConfigurable
  File "/sw/lib/python3.5/site-packages/IPython/config/configurable.py", line 14, in <module>
    from IPython.utils.text import indent, wrap_paragraphs
  File "/sw/lib/python3.5/site-packages/IPython/utils/text.py", line 28, in <module>
    from IPython.external.path import path
ImportError: cannot import name 'path'

Can anyone confirm if there exists a working version in master right now?

nieder commented 6 years ago
$ ipython-py35 
Python 3.5.5 (default, Feb  8 2018, 22:07:04) 
Type "copyright", "credits" or "license" for more information.

IPython 3.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: help()

Welcome to Python 3.5's help utility!
dhomeier commented 6 years ago

Thanks for checking! Do you have path-py35 installed, and if so, which version? I don't understand fully what is going on in the failed from IPython.external.path import path -

> ls -l /sw/lib/python3.5/site-packages/IPython/external/path                                                                                         
total 88
-rw-r--r--  1 root  admin     73 12 Jul  2015 __init__.py
drwxr-xr-x  2 root  admin    136 15 May 23:59 __pycache__/
-rw-r--r--  1 root  admin  39855 12 Jul  2015 _path.py
> cat /sw/lib/python3.5/site-packages/IPython/external/path/__init__.py                                                                            
try:
    from path import *
except ImportError:
    from ._path import *

but it looks like the fallback to the copy of path.py that comes included with ipython in _path.py is failing. The path interface in path-py has been deprecated as of 10.0-1; after downgrading to path-py35=5.3-1 my old ipython-py35 is in fact running normally. 3.2.1-2 does not seem to be affected by the updates to jupyter-*, nbformats and nbconvert, so it's probably safe to update incrementally. The ipykernel tests do not run with the old version, though, and seem to require at least ipython-4.1.2.

nieder commented 6 years ago

I have no path-py* installed. The available version is 10.0-1. If I install path-py35, then I get the same error you do.

dhomeier commented 5 years ago

The 2.7-3.6 versions are packaged in master for a couple of months now, and I have added a py37 variant in #391 - I think this is settled then.