{"action":"opened","issue":{"url":"https://api.github.com/repos/nvie/pip-tools/issues/318","repository_url":"https://api.github.com/repos/nvie/pip-tools","labels_url":"https://api.github.com/repos/nvie/pip-tools/issues/318/labels{/name}","comments_url":"https://api.github.com/repos/nvie/pip-tools/issues/318/comments","events_url":"https://api.github.com/repos/nvie/pip-tools/issues/318/events","html_url":"https://github.com/nvie/pip-tools/issues/318","id":132081027,"number":318,"title":"pip-sync keeps collecting and installing different versions of `decorator`","user":{"login":"chaoflow","id":89596,"avatar_url":"https://avatars.githubusercontent.com/u/89596?v=3","gravatar_id":"","url":"https://api.github.com/users/chaoflow","html_url":"https://github.com/chaoflow","followers_url":"https://api.github.com/users/chaoflow/followers","following_url":"https://api.github.com/users/chaoflow/following{/other_user}","gists_url":"https://api.github.com/users/chaoflow/gists{/gist_id}","starred_url":"https://api.github.com/users/chaoflow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaoflow/subscriptions","organizations_url":"https://api.github.com/users/chaoflow/orgs","repos_url":"https://api.github.com/users/chaoflow/repos","events_url":"https://api.github.com/users/chaoflow/events{/privacy}","received_events_url":"https://api.github.com/users/chaoflow/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-02-08T08:34:14Z","updated_at":"2016-02-08T08:34:14Z","closed_at":null,"body":"An activated virtualenv\r\n```\r\n% virtualenv .\r\n% . ./bin/activate\r\n```\r\n\r\nPinned requirements for ipdb, most notably `decorator==4.0.8`\r\n```\r\n% cat req.txt\r\n#\r\n# This file is autogenerated by pip-compile\r\n# Make changes in req.in, then run this to update:\r\n#\r\n#    pip-compile req.in\r\n#\r\ndecorator==4.0.8          # via ipython, traitlets\r\nipdb==0.8.1\r\nipython-genutils==0.1.0   # via traitlets\r\nipython==4.1.1            # via ipdb\r\npath.py==8.1.2            # via pickleshare\r\npexpect==4.0.1            # via ipython\r\npickleshare==0.6          # via ipython\r\nptyprocess==0.5.1         # via pexpect\r\nsimplegeneric==0.8.1      # via ipython\r\ntraitlets==4.1.0          # via ipython\r\n\r\n# The following packages are commented out because they are\r\n# considered to be unsafe in a requirements file:\r\n# setuptools                # via ipython\r\n```\r\n\r\n`decorator==4.0.8` is collected, but `decorator==4.0.7` is installed.\r\n```\r\n% pip-sync req.txt \r\nCollecting decorator==4.0.8\r\n  Using cached decorator-4.0.8-py2.py3-none-any.whl\r\nCollecting ipdb==0.8.1\r\n  Using cached ipdb-0.8.1.zip\r\nCollecting ipython-genutils==0.1.0\r\n  Using cached ipython_genutils-0.1.0-py2.py3-none-any.whl\r\nCollecting ipython==4.1.1\r\n  Using cached ipython-4.1.1-py2-none-any.whl\r\nCollecting path.py==8.1.2\r\n  Using cached path.py-8.1.2-py2.py3-none-any.whl\r\nCollecting pexpect==4.0.1\r\n  Using cached pexpect-4.0.1.tar.gz\r\nCollecting pickleshare==0.6\r\n  Using cached pickleshare-0.6-py2.py3-none-any.whl\r\nCollecting ptyprocess==0.5.1\r\n  Using cached ptyprocess-0.5.1-py2.py3-none-any.whl\r\nCollecting simplegeneric==0.8.1\r\n  Using cached simplegeneric-0.8.1.zip\r\nCollecting traitlets==4.1.0\r\n  Using cached traitlets-4.1.0-py2.py3-none-any.whl\r\nRequirement already satisfied (use --upgrade to upgrade): setuptools>=18.5 in ./lib/python2.7/site-packages (from ipython==4.1.1)\r\nInstalling collected packages: decorator, ipython-genutils, traitlets, path.py, pickleshare, simplegeneric, ptyprocess, pexpect, ipython, ipdb\r\n  Running setup.py install for simplegeneric ... done\r\n  Running setup.py install for pexpect ... done\r\n  Running setup.py install for ipdb ... done\r\nSuccessfully installed decorator-4.0.7 ipdb-0.8.1 ipython-4.1.1 ipython-genutils-0.1.0 path.py-8.1.2 pexpect-4.0.1 pickleshare-0.6 ptyprocess-0.5.1 simplegeneric-0.8.1 traitlets-4.1.0\r\n```\r\n\r\npip-sync keeps collecting and installing different `decorator` versions.\r\n```\r\n% pip-sync req.txt\r\nCollecting decorator==4.0.8\r\n  Using cached decorator-4.0.8-py2.py3-none-any.whl\r\nInstalling collected packages: decorator\r\n  Found existing installation: decorator 4.0.7\r\n    Uninstalling decorator-4.0.7:\r\n      Successfully uninstalled decorator-4.0.7\r\nSuccessfully installed decorator-4.0.7\r\n% pip-sync req.txt\r\nCollecting decorator==4.0.8\r\n  Using cached decorator-4.0.8-py2.py3-none-any.whl\r\nInstalling collected packages: decorator\r\n  Found existing installation: decorator 4.0.7\r\n    Uninstalling decorator-4.0.7:\r\n      Successfully uninstalled decorator-4.0.7\r\nSuccessfully installed decorator-4.0.7\r\n```"}}