On May 7, 2014, at 11:35 AM, Barry Warsaw <ba...@debian.org> wrote: > The stuff vendorized inside there don't have to have the > dist-info directories, so perhaps they don't need to be wheeled at all, but > they *do* have to be vendorized because of technicalities in the way pip works > within a virtual environment.
To be specific, they cannot appear as installed to a ``pip list`` command, where they are imported from doesn’t particular matter. Acceptable: 1. Putting them unpacked in pip/_vendor/ and modify the imports to import things from pip._vendor (aka what pip normally does) 2. Putting them unpacked in pip/_vendor/ (or anywhere really) *without* dist-info/egg-info and modifying sys.path to add that path. 3. Putting them packed in a zip file (whl or plain zip) in pip/_vendor (or anywhere really) and modifying sys.path to add those zips. Unacceptable: 4. Installing them directly into the virtual environment 5. Putting them unpacked in pip/_vendor/ (or anywhere really) *with* dist-info/egg-info and modifying sys.path to add that path. Basically if pkg_resources can find a dist-info/egg-info for it, then it'll see it installed and it'll be available for ``pip uninstall`` (explicitly or implicitly through an upgrade/downgrade). Also to be explicit, I've never actually tested what pip will do if there are *two* copies of requests (for example), one installed into site-packages with a dist-info/egg-info and one being just the ``requests`` directory that had been added into sys.path (basically options 2 and 3). I *think* it will work but that should be tested. ----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
signature.asc
Description: Message signed with OpenPGP using GPGMail