Opened at 2009-05-18T21:23:23Z
Last modified at 2016-03-26T21:20:54Z
#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.
fix formatting of Foolscap ticket link