{"action":"created","issue":{"url":"https://api.github.com/repos/bokeh/bokeh/issues/1419","labels_url":"https://api.github.com/repos/bokeh/bokeh/issues/1419/labels{/name}","comments_url":"https://api.github.com/repos/bokeh/bokeh/issues/1419/comments","events_url":"https://api.github.com/repos/bokeh/bokeh/issues/1419/events","html_url":"https://github.com/bokeh/bokeh/issues/1419","id":49281183,"number":1419,"title":"installing git version using pip fails because of BokehJs build","user":{"login":"kotrfa","id":2741256,"avatar_url":"https://avatars.githubusercontent.com/u/2741256?v=3","gravatar_id":"","url":"https://api.github.com/users/kotrfa","html_url":"https://github.com/kotrfa","followers_url":"https://api.github.com/users/kotrfa/followers","following_url":"https://api.github.com/users/kotrfa/following{/other_user}","gists_url":"https://api.github.com/users/kotrfa/gists{/gist_id}","starred_url":"https://api.github.com/users/kotrfa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kotrfa/subscriptions","organizations_url":"https://api.github.com/users/kotrfa/orgs","repos_url":"https://api.github.com/users/kotrfa/repos","events_url":"https://api.github.com/users/kotrfa/events{/privacy}","received_events_url":"https://api.github.com/users/kotrfa/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/bokeh/bokeh/labels/reso:%20completed","name":"reso: completed","color":"345065"},{"url":"https://api.github.com/repos/bokeh/bokeh/labels/type:%20discussion","name":"type: discussion","color":"2659A0"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2014-11-18T19:19:20Z","updated_at":"2015-09-25T22:30:53Z","closed_at":"2014-11-20T20:22:31Z","body":"Hello,\r\n\r\nI wanted to download Bokeh from git repository using pip:\r\n```\r\npip install git+https://github.com/bokeh/bokeh.git\r\n```\r\nor after cloning the repo\r\n```\r\npip install -e bokeh\r\n``` \r\nbut I get following errors. Nor choice 1 nor 2 works. Would be possible to make it work, or it's so unusual that nobody will care? I don't have idea how to do it.\r\n\r\n```\r\n $ pip install git+https://github.com/bokeh/bokeh.git\r\nDownloading/unpacking git+https://github.com/bokeh/bokeh.git\r\n  Cloning https://github.com/bokeh/bokeh.git to /tmp/pip-whq2xiex-build\r\n  Running setup.py (path:/tmp/pip-whq2xiex-build/setup.py) egg_info for package from git+https://github.com/bokeh/bokeh.git\r\n    /tmp/pip-whq2xiex-build/bokehjs\r\n    \r\n    Bokeh includes a JavaScript library (BokehJS) that has its own\r\n    build process. How would you like to handle BokehJS:\r\n    \r\n    1) build and install fresh BokehJS\r\n    2) install last built BokehJS from bokeh/bokehjs/build\r\n    \r\n2\r\n    Choice?\r\n    ERROR: Cannot install BokehJS: files missing in `./bokehjs/build`.\r\n    \r\n    \r\n    Please build BokehJS by running setup.py with the `--build_js` option.\r\n      Dev Guide: http://bokeh.pydata.org/docs/dev_guide.html#bokehjs.\r\n    \r\n    Complete output from command python setup.py egg_info:\r\n    /tmp/pip-whq2xiex-build/bokehjs\r\n\r\n\r\n\r\nBokeh includes a JavaScript library (BokehJS) that has its own\r\n\r\nbuild process. How would you like to handle BokehJS:\r\n\r\n\r\n\r\n1) build and install fresh BokehJS\r\n\r\n2) install last built BokehJS from bokeh/bokehjs/build\r\n\r\n\r\n\r\nChoice?\r\n\r\nERROR: Cannot install BokehJS: files missing in `./bokehjs/build`.\r\n\r\n\r\n\r\n\r\n\r\nPlease build BokehJS by running setup.py with the `--build_js` option.\r\n\r\n  Dev Guide: http://bokeh.pydata.org/docs/dev_guide.html#bokehjs.\r\n\r\n\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/bokeh/bokeh/issues/comments/143367954","html_url":"https://github.com/bokeh/bokeh/issues/1419#issuecomment-143367954","issue_url":"https://api.github.com/repos/bokeh/bokeh/issues/1419","id":143367954,"user":{"login":"dennisobrien","id":1168692,"avatar_url":"https://avatars.githubusercontent.com/u/1168692?v=3","gravatar_id":"","url":"https://api.github.com/users/dennisobrien","html_url":"https://github.com/dennisobrien","followers_url":"https://api.github.com/users/dennisobrien/followers","following_url":"https://api.github.com/users/dennisobrien/following{/other_user}","gists_url":"https://api.github.com/users/dennisobrien/gists{/gist_id}","starred_url":"https://api.github.com/users/dennisobrien/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dennisobrien/subscriptions","organizations_url":"https://api.github.com/users/dennisobrien/orgs","repos_url":"https://api.github.com/users/dennisobrien/repos","events_url":"https://api.github.com/users/dennisobrien/events{/privacy}","received_events_url":"https://api.github.com/users/dennisobrien/received_events","type":"User","site_admin":false},"created_at":"2015-09-25T22:30:53Z","updated_at":"2015-09-25T22:30:53Z","body":"It would be great to be able to build from a github repo.  The main use case is when you fix a bug in the source and can't afford to wait for the fix to be officially released.  I'm considering using Bokeh for a project where we use pip's requirements.txt to specify dependencies for other developers and for deployed web servers.  Being able to install from a git repo with our fixes is a lot more attractive than waiting for the next release cycle.\r\n\r\nI tried passing the `--build_js` as an argument to pip, but that doesn't work.\r\n```\r\npip install --verbose --upgrade --global-option=\"--build_js\" git+https://github.com/bokeh/bokeh.git#egg=bokeh\r\n```\r\nThis ends up calling `python setup.py egg_info` without passing the arguments along.  I don't know if it is a pip bug or not, but it is documented.\r\nhttps://pip.pypa.io/en/latest/reference/pip_install/#build-system-interface\r\n\r\nThe workaround would be to add `--build_js` to `sys.argv` when the argument is \"egg_info\".  This is already done when the build argument is \"sdist\".\r\n\r\nBut that would still leave us with the problem of getting the gulp toolchain to work in the context of a clean git cloned repo.  I haven't gotten this far so I don't know how much of a problem it would be."}}