pyinvoke / invoke

Pythonic task management & command execution.
http://pyinvoke.org
BSD 2-Clause "Simplified" License
4.38k stars 367 forks source link

2.1 has no decorator #935

Closed nhumrich closed 1 year ago

nhumrich commented 1 year ago

Using the latest fabric and invoke, and fabric is broken due to invoke 2.1.0. The decorator package can't be found or imported by fabric.

Traceback (most recent call last):
  File "/home/circleci/.pyenv/versions/3.10.11/lib/python3.10/site-packages/fabric/connection.py", line 7, in <module>
    from invoke.vendor.decorator import decorator
ModuleNotFoundError: No module named 'invoke.vendor.decorator'
cemkavuklu commented 1 year ago

Experiencing the same issue. invoke.vendor.decorator was deleted in #906 but going through the PR conversation, the reason is not obvious to me. Some clarification would be much appreciated.

bitprophet commented 1 year ago

Yea, I'm not sure @kuwv ever gave a rationale in #906 for why that was removed, and I neglected to follow up on that point before merging.

OTOH this is also arguably bad hygiene on Fabric's part, so I think it's proper to fix it there instead. Fabric will be getting a 3.1 release relatively soon and that feels like the right spot to "add" a "new" dependency. I'll go commit this over there so it's not forgotten.

kuwv commented 1 year ago

@bitprophet yeah I removed it because at the time it wasn't used within invoke. I cleaned it up without knowing it would affect fabric.

My apologies all.