{"id": 642388564, "node_id": "MDU6SXNzdWU2NDIzODg1NjQ=", "number": 858, "title": "publish heroku does not work on Windows 10", "user": {"value": 870912, "label": "simonlau"}, "state": "open", "locked": 0, "assignee": null, "milestone": null, "comments": 7, "created_at": "2020-06-20T14:40:28Z", "updated_at": "2021-06-10T17:44:09Z", "closed_at": null, "author_association": "NONE", "pull_request": null, "body": "When executing \"datasette publish heroku schools.db\" on Windows 10, I get the following error\r\n\r\n```shell\r\n File \"c:\\users\\dell\\.virtualenvs\\sec-schools-jn-cwk8z\\lib\\site-packages\\datasette\\publish\\heroku.py\", line 54, in heroku\r\n line.split()[0] for line in check_output([\"heroku\", \"plugins\"]).splitlines()\r\n File \"c:\\python38\\lib\\subprocess.py\", line 411, in check_output\r\n return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,\r\n File \"c:\\python38\\lib\\subprocess.py\", line 489, in run\r\n with Popen(*popenargs, **kwargs) as process:\r\n File \"c:\\python38\\lib\\subprocess.py\", line 854, in __init__\r\n self._execute_child(args, executable, preexec_fn, close_fds,\r\n File \"c:\\python38\\lib\\subprocess.py\", line 1307, in _execute_child\r\n hp, ht, pid, tid = _winapi.CreateProcess(executable, args,\r\nFileNotFoundError: [WinError 2] The system cannot find the file specified\r\n```\r\n\r\nChanging https://github.com/simonw/datasette/blob/55a6ffb93c57680e71a070416baae1129a0243b8/datasette/publish/heroku.py#L54\r\n\r\nto \r\n\r\n```python\r\nline.split()[0] for line in check_output([\"heroku\", \"plugins\"], shell=True).splitlines()\r\n```\r\n\r\nas well as the other `check_output()` and `call()` within the same file leads me to another recursive error about temp files", "repo": {"value": 107914493, "label": "datasette"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/datasette/issues/858/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": null}