{"comment":{"created_at":"2011-10-26T16:25:26Z","body":"While I'm +1 on changing the default behavior here, the zope.interface issue is actually a bug in pip with how it resolves version requirements in packages.\r\n\r\nI'll explain my version of what's going on without looking at pip's source.\r\n\r\n    # OS X 10.6.8\r\n    virtualenv -p python2.6 env\r\n\r\n    env/bin/python\r\n    >>> import pkg_resources\r\n    >>> pkg_resources.get_distribution('zope.interface')\r\n    zope.interface 3.5.1 (/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python)\r\n\r\nUsers are able to successfully run `env/bin/pip install \"pyramid==1.2.1\"`. They then want to create a project and run `env/bin/paster create -t pyramid_starter demo`. This causes the below error:\r\n\r\n    pkg_resources.VersionConflict: (zope.interface 3.5.1 (/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python), Requirement.parse('zope.interface>=3.8.0'))\r\n\r\nDuring the install they saw:\r\n\r\n    Requirement already satisfied (use --upgrade to upgrade): zope.interface>=3.5.1 in /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python (from pyramid==1.2.1)\r\n\r\nExplanation:\r\n\r\n`pyramid` pins `zope.interface>=3.5.1`, `zope.component>=3.6.0`\r\n`zope.component` pins `zope.interface>=3.8.0`\r\n\r\nIt would appear as if pip is accepting the first \"pin\" it finds, and ignoring the z.c requirement of 3.8.0, causing issues later. This is not an issue with easy_install, which actually fails while doing `easy_install \"pyramid==1.2.1\"`:\r\n\r\n    error: Installed distribution zope.interface 3.5.1 conflicts with requirement zope.interface>=3.8.0\r\n\r\nIn both cases it's possible to upgrade `zope.interface` within the virtualenv and then continue on, but for new users it's certainly not obvious.","updated_at":"2011-10-26T16:25:26Z","url":"https://api.github.com/repos/pypa/virtualenv/issues/comments/2532558","id":2532558,"user":{"avatar_url":"https://secure.gravatar.com/avatar/2afa37365e47f84aa96b2905cba82c90?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"2afa37365e47f84aa96b2905cba82c90","url":"https://api.github.com/users/mmerickel","id":487237,"login":"mmerickel"}},"action":"created","issue":{"number":178,"created_at":"2011-10-26T14:04:33Z","pull_request":{"diff_url":"https://github.com/pypa/virtualenv/pull/178.diff","patch_url":"https://github.com/pypa/virtualenv/pull/178.patch","html_url":"https://github.com/pypa/virtualenv/pull/178"},"body":"Virtualenv is used, primarily, to create an isolated packaging environment.  The current default use-site-packages behavior is suboptimal for this purpose.  New users (and some experienced users) invariably fail to pass the flag even when instructions to do so are in blinking red text in a 72 point font, and they wind up in a place where they have conflicting global and virtualenv packages.  This is, by far, the most common support issue I've experienced in regards to instructing other people to use virtualev.\r\n\r\nIt would make a lot more sense if virtualenv defaulted to ``--no-site-packages`` behavior.  This patch does that, and adds a ``--use-site-packages`` flag to get the old behavior back.","comments":4,"title":"invert site-packages behavior","updated_at":"2011-10-26T16:25:26Z","url":"https://api.github.com/repos/pypa/virtualenv/issues/178","id":2056944,"assignee":null,"milestone":null,"closed_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/a709fd00fc849280c23233ef0a01c5dc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a709fd00fc849280c23233ef0a01c5dc","url":"https://api.github.com/users/mcdonc","id":125174,"login":"mcdonc"},"html_url":"https://github.com/pypa/virtualenv/issues/178","labels":[],"state":"open"},"legacy":{"issue_id":2056944,"comment_id":2532558}}