aisk / pick

create curses based interactive selection list in the terminal
MIT License
722 stars 61 forks source link

Broken dependency in version 1.1.1 #61

Closed jurgenhaas closed 2 years ago

jurgenhaas commented 2 years ago

This version requires dataclasses which is not declared as a dependency.

This breaks all existing installations, if they update to this latest version.

wong2 commented 2 years ago

Hi, what version of Python are you using?

jurgenhaas commented 2 years ago

I'm managing a lot of hosts, depending on their age they use between Python 3.6.9 and Python 3.8.10

wong2 commented 2 years ago

The problem should affect 3.6.x, I'll fix it soon, sorry

jurgenhaas commented 2 years ago

Thanks, great. But I saw the same issue on 3.8.10 as well.

wong2 commented 2 years ago

I tested 1.1.1 with Python 3.8.10, it works fine

jurgenhaas commented 2 years ago

Yes, if dataclasses is installed. But that's not available by default and needs to be declared as a dependency. I wonder if it was already installed for your tests?

wong2 commented 2 years ago

dataclasses should be a build-in lib since 3.7? https://docs.python.org/3/library/dataclasses.html

jurgenhaas commented 2 years ago

That's strange. I happen to have a fairly new Laptop here with Ubuntu 20.04 installed a couple of weeks ago. It has Python 3.8.10 installed but no dataclasses available. I have to do pip3 install dataclasses to make it work.

wong2 commented 2 years ago
截屏2021-12-06 下午11 18 57

The ci shows that only python 3.6 is not working

jurgenhaas commented 2 years ago

Well, that's fine. I can only report what I see on real hardware. I can't explain where the difference is coming from.

wong2 commented 2 years ago

Version 1.2.0 has been released, which added dataclasses dependency for python 3.6.x

wong2 commented 2 years ago

https://github.com/wong2/pick/runs/4432366828?check_suite_focus=true Test on ubuntu 20.04 also passed, so it's weird...