#2856 closed task (fixed)

remove/conditionalize "shutilwhich" dependency

Reported by: warner Owned by: meejah
Priority: normal Milestone: 1.13.0
Component: packaging Version: 1.12.0
Keywords: Cc:
Launchpad Bug:


Somewhere in the 1.12 development cycle, _auto_deps.py acquired an unconditional dependency upon a package named shutilwhich. This impacts downstream packagers (i.e. it isn't in Debian yet). Looking at the code, it seems that shutilwhich is only used by the integration tests, and thus should probably be moved into the [test] clause of setup.py's extras_require=. That would let non-testing downstream packages omit the dependency.

Change History (7)

comment:1 Changed at 2016-12-25T18:56:20Z by warner

  • Milestone changed from undecided to 1.12.1

comment:2 Changed at 2016-12-27T16:34:31Z by cypher

Twisted has a which() in twisted.python.procutils that could be used in place of shutilwhich (though it returns a list of filepaths):


For simplicity's sake, it might be better to just use that instead.

comment:3 Changed at 2017-01-08T23:22:38Z by Brian Warner <warner@…>

  • Resolution set to fixed
  • Status changed from new to closed

In 79ff7ae/trunk:

move 'shutilwhich' dependency out to the [test] extra

This is only used by integration/conftest.py, so we don't need an
unconditional dependency on it.

closes ticket:2856

comment:4 Changed at 2017-01-08T23:25:29Z by warner

  • Milestone changed from 1.12.1 to 1.13.0
  • Resolution fixed deleted
  • Status changed from closed to reopened

oh, let's leave this open (but pushed out of the 1.12.1 milestone), to get that shutilwhich replaced by a normal twisted procutils.which (which we're already using in allmydata.util.iputil to find ifconfig-like programs).

comment:5 Changed at 2017-01-08T23:26:19Z by warner

  • Owner changed from daira to meejah
  • Status changed from reopened to new

I'll point this ticket at meejah, as he wrote integration/conftest.py that uses it

comment:7 Changed at 2017-01-10T00:48:12Z by David Stainton <dstainton415@…>

  • Resolution set to fixed
  • Status changed from new to closed

In 805be64/trunk:

Use which from twisted

fixes #2856

Note: See TracTickets for help on using tickets.