{"action":"opened","issue":{"url":"https://api.github.com/repos/galaxyproject/galaxy/issues/1035","labels_url":"https://api.github.com/repos/galaxyproject/galaxy/issues/1035/labels{/name}","comments_url":"https://api.github.com/repos/galaxyproject/galaxy/issues/1035/comments","events_url":"https://api.github.com/repos/galaxyproject/galaxy/issues/1035/events","html_url":"https://github.com/galaxyproject/galaxy/issues/1035","id":115491672,"number":1035,"title":"pip requirements - ptyprocess 0.5 not supported on Python 2.6","user":{"login":"peterjc","id":63959,"avatar_url":"https://avatars.githubusercontent.com/u/63959?v=3","gravatar_id":"","url":"https://api.github.com/users/peterjc","html_url":"https://github.com/peterjc","followers_url":"https://api.github.com/users/peterjc/followers","following_url":"https://api.github.com/users/peterjc/following{/other_user}","gists_url":"https://api.github.com/users/peterjc/gists{/gist_id}","starred_url":"https://api.github.com/users/peterjc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peterjc/subscriptions","organizations_url":"https://api.github.com/users/peterjc/orgs","repos_url":"https://api.github.com/users/peterjc/repos","events_url":"https://api.github.com/users/peterjc/events{/privacy}","received_events_url":"https://api.github.com/users/peterjc/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-06T11:52:29Z","updated_at":"2015-11-06T11:52:29Z","closed_at":null,"body":"As part of the move from eggs to wheels for the Python dependencies, Galaxy now has a ``requirements.txt`` file which can be used with pip.\r\n\r\nGalaxy still supports Python 2.6, so this should work:\r\n\r\n```\r\n$ pip --version\r\npip 7.1.2 from /usr/lib/python2.6/site-packages (python 2.6)\r\n```\r\n\r\n```\r\n$ pip install --extra-index-url http://wheels.galaxyproject.org/simple/ --trusted-host wheels.galaxyproject.org -r requirements.txt\r\nCollecting http://svgfig.googlecode.com/files/svgfig-1.1.6.tgz (from -r requirements.txt (line 38))\r\n  Downloading http://svgfig.googlecode.com/files/svgfig-1.1.6.tgz\r\nCollecting Paste (from -r requirements.txt (line 1))\r\n/usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.\r\n  InsecurePlatformWarning\r\n  Using cached Paste-2.0.2-py2-none-any.whl\r\nCollecting PasteDeploy (from -r requirements.txt (line 2))\r\n  Using cached PasteDeploy-1.5.2-py2.py3-none-any.whl\r\nRequirement already satisfied (use --upgrade to upgrade): docutils in /usr/lib/python2.6/site-packages (from -r requirements.txt (line 3))\r\nCollecting wchartype (from -r requirements.txt (line 4))\r\n  Downloading https://wheels.galaxyproject.org/packages/wchartype-0.1-py2-none-any.whl\r\nCollecting pexpect (from -r requirements.txt (line 5))\r\n  Using cached pexpect-4.0.1.tar.gz\r\nCollecting amqp (from -r requirements.txt (line 6))\r\n  Using cached amqp-1.4.7.tar.gz\r\nCollecting repoze.lru (from -r requirements.txt (line 7))\r\n  Downloading https://wheels.galaxyproject.org/packages/repoze.lru-0.6-py2-none-any.whl\r\nCollecting Routes (from -r requirements.txt (line 8))\r\n  Using cached Routes-2.2-py2-none-any.whl\r\nCollecting WebOb (from -r requirements.txt (line 9))\r\n  Using cached WebOb-1.5.1-py2.py3-none-any.whl\r\nCollecting SQLAlchemy (from -r requirements.txt (line 10))\r\n  Using cached SQLAlchemy-1.0.9.tar.gz\r\nCollecting Cheetah (from -r requirements.txt (line 11))\r\n  Using cached Cheetah-2.4.4.tar.gz\r\nCollecting pycrypto (from -r requirements.txt (line 12))\r\n  Using cached pycrypto-2.6.1.tar.gz\r\nRequirement already satisfied (use --upgrade to upgrade): MarkupSafe in /usr/lib/python2.6/site-packages/MarkupSafe-0.23-py2.6-linux-x86_64.egg (from -r requirements.txt (line 13))\r\nCollecting WebHelpers (from -r requirements.txt (line 14))\r\n  Downloading https://wheels.galaxyproject.org/packages/WebHelpers-1.3-py2-none-any.whl (149kB)\r\n    100% |████████████████████████████████| 151kB 354kB/s \r\nCollecting anyjson (from -r requirements.txt (line 15))\r\n  Downloading https://wheels.galaxyproject.org/packages/anyjson-0.3.3-py2-none-any.whl\r\nCollecting kombu (from -r requirements.txt (line 16))\r\n  Using cached kombu-3.0.29-py2.py3-none-any.whl\r\nRequirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib64/python2.6/site-packages (from -r requirements.txt (line 17))\r\nRequirement already satisfied (use --upgrade to upgrade): bx-python in /usr/lib/python2.6/site-packages/bx_python-0.7.1-py2.6-linux-x86_64.egg (from -r requirements.txt (line 18))\r\nCollecting pysam (from -r requirements.txt (line 19))\r\n  Downloading https://wheels.galaxyproject.org/packages/pysam-0.8.3+gx1.tar.gz (1.5MB)\r\n    100% |████████████████████████████████| 1.5MB 22.8MB/s \r\nCollecting Mako (from -r requirements.txt (line 20))\r\n  Using cached Mako-1.0.3.tar.gz\r\nRequirement already satisfied (use --upgrade to upgrade): PyYAML in /usr/lib/python2.6/site-packages/PyYAML-3.11-py2.6-linux-x86_64.egg (from -r requirements.txt (line 21))\r\nCollecting mercurial (from -r requirements.txt (line 22))\r\n  Using cached mercurial-3.6.tar.gz\r\nCollecting pytz (from -r requirements.txt (line 23))\r\n  Using cached pytz-2015.7-py2.py3-none-any.whl\r\nCollecting Babel (from -r requirements.txt (line 24))\r\n  Using cached Babel-2.1.1-py2.py3-none-any.whl\r\nCollecting decorator (from -r requirements.txt (line 25))\r\n  Using cached decorator-4.0.4-py2.py3-none-any.whl\r\nCollecting Tempita (from -r requirements.txt (line 26))\r\n  Using cached Tempita-0.5.2.tar.gz\r\nCollecting sqlalchemy-migrate (from -r requirements.txt (line 27))\r\n  Using cached sqlalchemy_migrate-0.10.0-py2-none-any.whl\r\nCollecting Beaker (from -r requirements.txt (line 28))\r\n  Downloading https://wheels.galaxyproject.org/packages/Beaker-1.7.0-py2-none-any.whl (44kB)\r\n    100% |████████████████████████████████| 45kB 17.3MB/s \r\nCollecting Whoosh<2.5 (from -r requirements.txt (line 29))\r\n  Downloading https://wheels.galaxyproject.org/packages/Whoosh-2.4.1+gx1-py2-none-any.whl (377kB)\r\n    100% |████████████████████████████████| 380kB 8.7MB/s \r\nCollecting paramiko (from -r requirements.txt (line 30))\r\n  Using cached paramiko-1.16.0-py2.py3-none-any.whl\r\nCollecting ssh (from -r requirements.txt (line 31))\r\n  Using cached ssh-1.8.0.tar.gz\r\nCollecting Fabric (from -r requirements.txt (line 32))\r\n  Using cached Fabric-1.10.2-py2-none-any.whl\r\nRequirement already satisfied (use --upgrade to upgrade): boto in /usr/lib/python2.6/site-packages/boto-2.38.0-py2.6.egg (from -r requirements.txt (line 33))\r\nCollecting simplejson (from -r requirements.txt (line 34))\r\n  Using cached simplejson-3.8.1.tar.gz\r\nRequirement already satisfied (use --upgrade to upgrade): bioblend in /usr/lib/python2.6/site-packages/bioblend-0.6.0-py2.6.egg (from -r requirements.txt (line 35))\r\nCollecting Parsley (from -r requirements.txt (line 36))\r\n  Using cached Parsley-1.3-py2.py3-none-any.whl\r\nCollecting WebError (from -r requirements.txt (line 37))\r\n  Using cached WebError-0.11-py2-none-any.whl\r\nRequirement already satisfied (use --upgrade to upgrade): six in /usr/lib/python2.6/site-packages/six-1.6.1-py2.6.egg (from Paste->-r requirements.txt (line 1))\r\nCollecting ptyprocess>=0.5 (from pexpect->-r requirements.txt (line 5))\r\n  Using cached ptyprocess-0.5.tar.gz\r\n    Complete output from command python setup.py egg_info:\r\n    Traceback (most recent call last):\r\n      File \"<string>\", line 20, in <module>\r\n      File \"/tmp/pip-build-JviV5L/ptyprocess/setup.py\", line 10, in <module>\r\n        \"Only python 2.7 and later is supported by ptyprocess.\")\r\n    AssertionError: Only python 2.7 and later is supported by ptyprocess.\r\n    \r\n    ----------------------------------------\r\nCommand \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-build-JviV5L/ptyprocess\r\n```\r\n\r\nThe dependency on ``pexpect`` (no version set) in turn requires ``ptyprocess``,\r\n\r\n```\r\n$ pip install --extra-index-url http://wheels.galaxyproject.org/simple/ --trusted-host wheels.galaxyproject.org pexpect\r\nCollecting pexpect\r\n/usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.\r\n  InsecurePlatformWarning\r\n  Using cached pexpect-4.0.1.tar.gz\r\nCollecting ptyprocess>=0.5 (from pexpect)\r\n  Using cached ptyprocess-0.5.tar.gz\r\n    Complete output from command python setup.py egg_info:\r\n    Traceback (most recent call last):\r\n      File \"<string>\", line 20, in <module>\r\n      File \"/tmp/pip-build-fSOXKL/ptyprocess/setup.py\", line 10, in <module>\r\n        \"Only python 2.7 and later is supported by ptyprocess.\")\r\n    AssertionError: Only python 2.7 and later is supported by ptyprocess.\r\n    \r\n    ----------------------------------------\r\nCommand \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-build-fSOXKL/ptyprocess\r\n```\r\n\r\nOr using just PyPI:\r\n\r\n```\r\n$ pip install pexpect\r\nCollecting pexpect\r\n  Using cached pexpect-4.0.1.tar.gz\r\nCollecting ptyprocess>=0.5 (from pexpect)\r\n  Using cached ptyprocess-0.5.tar.gz\r\n    Complete output from command python setup.py egg_info:\r\n    Traceback (most recent call last):\r\n      File \"<string>\", line 20, in <module>\r\n      File \"/tmp/pip-build-TnD1Cd/ptyprocess/setup.py\", line 10, in <module>\r\n        \"Only python 2.7 and later is supported by ptyprocess.\")\r\n    AssertionError: Only python 2.7 and later is supported by ptyprocess.\r\n    \r\n    ----------------------------------------\r\nCommand \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-build-TnD1Cd/ptyprocess\r\n```\r\n\r\nThis looks to be a new issue with ptyprocess 0.5, using 0.4 should be OK but then also need to explicitly ask for an older pexpect?\r\n\r\n```\r\n$ sudo pip install ptyprocess==0.4\r\n$ sudo pip install pexpect==3.3\r\n```\r\n\r\nThen:\r\n\r\n```\r\n$ pip install --extra-index-url http://wheels.galaxyproject.org/simple/ --trusted-host wheels.galaxyproject.org -r requirements.txt \r\n\r\n...\r\n  error: invalid command 'bdist_wheel'\r\n  \r\n  ----------------------------------------\r\n  Failed building wheel for sqlparse\r\nFailed to build amqp SQLAlchemy Cheetah pycrypto pysam Mako mercurial Tempita ssh simplejson SVGFig sqlparse\r\nInstalling collected packages: Paste, PasteDeploy, wchartype, amqp, repoze.lru, Routes, WebOb, SQLAlchemy, Markdown, Cheetah, pycrypto, WebHelpers, anyjson, importlib, kombu, pysam, Mako, mercurial, pytz, Babel, decorator, Tempita, pbr, sqlparse, sqlalchemy-migrate, Beaker, Whoosh, ecdsa, paramiko, ssh, Fabric, simplejson, Parsley, Pygments, WebError, SVGFig\r\n...\r\n```\r\n\r\n(Permission denied)\r\n\r\nI do still see lots of ``error: invalid command 'bdist_wheel'`` suggesting a dozen other problems, but the initial problem from pexpect has gone away by installing an older version."}}