Open kloczek opened 3 years ago
Actually more important is that ipython_genutils
is still using nose
which is for python 2.x and is already outdated and unmaintained.
https://nose.readthedocs.io/en/latest/
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.11, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
benchmark: 3.4.1 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
Using --randomly-seed=1097984068
rootdir: /home/tkloczko/rpmbuild/BUILD/ipython_genutils-0.2.0
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, expect-1.1.0, flake8-1.0.7, timeout-1.4.2, betamax-0.8.1, freezegun-0.4.2, aspectlib-1.5.2, toolbox-0.5, rerunfailures-9.1.1, requests-mock-1.9.3, cov-2.12.1, pyfakefs-4.5.0, flaky-3.7.0, benchmark-3.4.1, xdist-2.3.0, pylama-7.7.1, datadir-1.3.1, regressions-2.2.0, cases-3.6.3, xprocess-0.18.1, black-0.3.12, anyio-3.3.0, Faker-8.11.0, asyncio-0.15.1, trio-0.7.0, httpbin-1.0.0, subtests-0.5.0, isort-2.0.0, hypothesis-6.14.6, mock-3.6.1, profiling-1.7.0, randomly-3.8.0, checkdocs-2.7.1
collected 4 items / 3 errors / 1 selected
================================================================================== ERRORS ==================================================================================
_______________________________________________________ ERROR collecting ipython_genutils/tests/test_importstring.py _______________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/ipython_genutils-0.2.0/ipython_genutils/tests/test_importstring.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ipython_genutils/tests/test_importstring.py:6: in <module>
import nose.tools as nt
E ModuleNotFoundError: No module named 'nose'
___________________________________________________________ ERROR collecting ipython_genutils/tests/test_path.py ___________________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/ipython_genutils-0.2.0/ipython_genutils/tests/test_path.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ipython_genutils/tests/test_path.py:11: in <module>
import nose.tools as nt
E ModuleNotFoundError: No module named 'nose'
___________________________________________________________ ERROR collecting ipython_genutils/tests/test_text.py ___________________________________________________________
ImportError while importing test module '/home/tkloczko/rpmbuild/BUILD/ipython_genutils-0.2.0/ipython_genutils/tests/test_text.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib64/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ipython_genutils/tests/test_text.py:13: in <module>
import nose.tools as nt
E ModuleNotFoundError: No module named 'nose'
========================================================================= short test summary info ==========================================================================
ERROR ipython_genutils/tests/test_importstring.py
ERROR ipython_genutils/tests/test_path.py
ERROR ipython_genutils/tests/test_text.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 3 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================================================ 3 errors in 0.37s =============================================================================
pytest-xprocess reminder::Be sure to terminate the started process by running 'pytest --xkill' if you have not explicitly done so in your fixture with 'xprocess.getinfo(<process_name>).terminate()'.
I think it will likely be easier to remove usage of ipython_genutils upstream than to fix this repo. If you have specific packages that needs dependency on ipython_genutils to be remove faster than other, you can list them here, and we'll do what we can.
Just checked what is using ipython-genutils
[tkloczko@barrel SPECS]$ grep 'python3dist(ipython-genutils)' *
python-ipyparallel.spec:BuildRequires: python3dist(ipython-genutils)
python-notebook.spec:BuildRequires: python3dist(ipython-genutils)
python-traitlets.spec:BuildRequires: python3dist(ipython-genutils)
Simple what I'm tryig to archive is have set of packages without nose
run-time or build-time dependencies.
I'll open issues on relevant repositories, we can likely make a new minor release of all the above projects that do not requires this package.
I know there are other packages that require ipython_genutils, but we can make those a priority.
master of ipyparallel should not require ipython_genutils anymore, I believe this will be part of the next major version (7.0.0) that I guess might be released soon.
master of ipyparallel should not require ipython_genutils anymore, I believe this will be part of the next major version (7.0.0) that I guess might be released soon.
If may I suggest move away from nose
as well because of https://nose.readthedocs.io/en/latest/
https://github.com/schollii/nose2pytest/ may be useful on that.
+1 thanks, I've been using vim macros, but that is helpful. We have some custom plugins that might need manual work.
Fedora packages with ipython_genutils deps:
python3-ipywidgets-0:7.6.4-2.fc36.noarch
python3-nbformat-0:5.0.8-6.fc36.noarch
python3-notebook-0:6.4.8-1.fc36.noarch
python3-qtconsole-0:5.2.2-2.fc36.noarch
[tkloczko@ss-desktop SPECS.fedora]$ grep nose python-ipython_genutils.spec
# Don't use deprecated unittest aliases trough nose, they are removed in Python 3.11
BuildRequires: python%{python3_pkgversion}-nose
nosetests-%{python3_version} -v
- Use nosetests
As you see Fedora package uses nose
.
IPython 8 which has been published two weeks ago does no rely on nose or ipython_genutils anymore. I would though wait for IPython 8.1.0 there are a couple of things to fix.
You may still want to try to package 8.0 as a number of things have changed in setup.py
(we are trying to get rid of it), and it also now requires stack_data
. 8.0 also has black as a dependency but that will be most likely removed in 8.1.
https://github.com/jupyter/qtconsole/pull/586 should remove the last usage of it from qtconsole, so AFAICT once the above is merged and released, nothing should use ipython_genuils.
Let me know if that is not the case.