#709 closed defect

hard to run against alternate dependencies, i.e. trunk version of Foolscap — at Version 1

Reported by: warner Owned by: somebody
Priority: major Milestone: 1.11.0
Component: packaging Version: 1.4.1
Keywords: setuptools Cc:
Launchpad Bug:

Description (last modified by warner)

For the #653 work I'm doing now (which requires a change to foolscap: foolscap#105), I need to run a Tahoe trunk tree against a Foolscap trunk tree (to test changes I'm considering putting into the upcoming foolscap release). The normal way to do this (which used to work before we switched to setuptools) was:

PYTHONPATH=~/foolscap/trunk make test

I tried to do this yesterday, and here are the problems I ran into:

  • the Foolscap .egg that was built in support/lib overrides anything else on PYTHONPATH, so I must delete the .egg first
  • on OS-X, there's also an .egg put in the root of the tahoe tree (the #657 problem), so I must delete that one too
  • "make test" takes forever (#591) and rebuilds a Foolscap .egg before running any tests, so I use "make quicktest" instead
  • A Foolscap source tree (in my ~/foolscap/trunk directory) does not appear to qualify as fulfilling the setuptools dependency for foolscap[secure_connections]>=0.3.1. src/allmydata/scripts/runner.py has a line which does pkg_resources.require('allmydata-tahoe'), and that throws a DistributionNotFound exception. I commented that line out.
  • the pkg_resources.load_entry_point-based support/bin/tahoe script does an implicit pkg_resources.require, also failing because it thinks it doesn't have Foolscap available.

I think the only way I can work around this is to use "setup.py develop TARGETDIR" on my Foolscap tree, and then set PYTHONPATH to point at TARGETDIR instead of ~/foolscap/trunk.

This is annoying. I really wish that PYTHONPATH could be used as it was originally intended, and that these eggs weren't getting in the way.

Change History (1)

comment:1 Changed at 2009-05-18T21:24:10Z by warner

  • Description modified (diff)

fix formatting of Foolscap ticket link

Note: See TracTickets for help on using tickets.