{"action":"opened","issue":{"url":"https://api.github.com/repos/Glavin001/atom-beautify/issues/322","labels_url":"https://api.github.com/repos/Glavin001/atom-beautify/issues/322/labels{/name}","comments_url":"https://api.github.com/repos/Glavin001/atom-beautify/issues/322/comments","events_url":"https://api.github.com/repos/Glavin001/atom-beautify/issues/322/events","html_url":"https://github.com/Glavin001/atom-beautify/issues/322","id":73399316,"number":322,"title":"atom-beautify fails on python (PEP8 error)","user":{"login":"muppetjones","id":2041619,"avatar_url":"https://avatars.githubusercontent.com/u/2041619?v=3","gravatar_id":"","url":"https://api.github.com/users/muppetjones","html_url":"https://github.com/muppetjones","followers_url":"https://api.github.com/users/muppetjones/followers","following_url":"https://api.github.com/users/muppetjones/following{/other_user}","gists_url":"https://api.github.com/users/muppetjones/gists{/gist_id}","starred_url":"https://api.github.com/users/muppetjones/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/muppetjones/subscriptions","organizations_url":"https://api.github.com/users/muppetjones/orgs","repos_url":"https://api.github.com/users/muppetjones/repos","events_url":"https://api.github.com/users/muppetjones/events{/privacy}","received_events_url":"https://api.github.com/users/muppetjones/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-05-05T18:54:30Z","updated_at":"2015-05-05T18:54:30Z","closed_at":null,"body":"I commented on another issue [autopep8 Fails when beautifying Python](https://github.com/Glavin001/atom-beautify/issues/274#issuecomment-96967864). The symptom is the same, but the error is different, so I opened a new issue.\r\n\r\nThank you in advance!\r\n\r\n```\r\nError: spawn autopep8 ENOENT\r\n  at exports._errnoException (util.js:734:11)\r\n  at Process.ChildProcess._handle.onexit (child_process.js:1035:32)\r\n  at child_process.js:1127:20\r\n  at process._tickCallback (node.js:357:13)\r\n```\r\n\r\nAnd the debugging output:\r\n# Atom Beautify - Debugging information\r\n\r\nThe following debugging information was generated by `Atom Beautify` on `Tue May 05 2015 13:32:18 GMT-0500 (CDT)`.\r\n\r\n---\r\n\r\n**Platform**: darwin\r\n\r\n## Versions\r\n\r\n**Atom Version**: 0.196.0\r\n\r\n**Atom Beautify Version**: 0.26.5\r\n\r\n## Original file to be beautified\r\n\r\n**Original File Path**: `/Users/fake_user/dev/remsci/dummy_file.py`\r\n\r\n**Original File Grammar**: Python\r\n\r\n**Original File Contents**: \r\n```python\r\n\r\nfrom unittest import TestCase\r\n\r\n\r\nclass Bar(TestCase):\r\n\r\n    def fakefunction(param, second_param):\r\n        pass\r\n\r\n    def test_indentation(self):\r\n        foo = self.fake_function(param='hello',\r\n                                 second_param='world',\r\n                                 )\r\n        bar = 'after_continuing typing'\r\n        return foo, bar\r\n\r\n```\r\n\r\n## Beautification options\r\n\r\n**Editor Options**: \r\nOptions from Atom Editor settings\r\n```json\r\n{\r\n    \"indent_size\": 4,\r\n    \"indent_char\": \" \",\r\n    \"indent_with_tabs\": false\r\n}\r\n```\r\n\r\n**Config Options**: \r\nOptions from Atom Beautify package settings\r\n```json\r\n{\r\n    \"python\": {\r\n        \"autopep8_path\": \"/Users/fake_user/venv/default/bin/autopep8\",\r\n        \"max_line_length\": 79,\r\n        \"indent_size\": 4,\r\n        \"ignore\": [\r\n            \"E24\"\r\n        ]\r\n    },\r\n    \"cs\": {\r\n        \"configPath\": \"\"\r\n    },\r\n    \"c\": {\r\n        \"configPath\": \"\"\r\n    },\r\n    \"cpp\": {\r\n        \"configPath\": \"\"\r\n    },\r\n    \"css\": {\r\n        \"indent_size\": 4,\r\n        \"indent_char\": \" \",\r\n        \"selector_separator_newline\": false,\r\n        \"newline_between_rules\": false,\r\n        \"preserve_newlines\": false\r\n    },\r\n    \"d\": {\r\n        \"configPath\": \"\"\r\n    },\r\n    \"html\": {\r\n        \"indent_inner_html\": false,\r\n        \"indent_size\": 4,\r\n        \"indent_char\": \" \",\r\n        \"brace_style\": \"collapse\",\r\n        \"indent_scripts\": \"normal\",\r\n        \"wrap_line_length\": 250,\r\n        \"wrap_attributes\": \"auto\",\r\n        \"wrap_attributes_indent_size\": 4,\r\n        \"preserve_newlines\": true,\r\n        \"max_preserve_newlines\": 10,\r\n        \"unformatted\": [\r\n            \"a\",\r\n            \"sub\",\r\n            \"sup\",\r\n            \"b\",\r\n            \"i\",\r\n            \"u\"\r\n        ],\r\n        \"end_with_newline\": false\r\n    },\r\n    \"java\": {\r\n        \"configPath\": \"\"\r\n    },\r\n    \"js\": {\r\n        \"indent_size\": 4,\r\n        \"indent_char\": \" \",\r\n        \"indent_level\": 0,\r\n        \"indent_with_tabs\": false,\r\n        \"preserve_newlines\": true,\r\n        \"max_preserve_newlines\": 10,\r\n        \"space_in_paren\": false,\r\n        \"jslint_happy\": false,\r\n        \"space_after_anon_function\": false,\r\n        \"brace_style\": \"collapse\",\r\n        \"break_chained_methods\": false,\r\n        \"keep_array_indentation\": false,\r\n        \"keep_function_indentation\": false,\r\n        \"space_before_conditional\": true,\r\n        \"eval_code\": false,\r\n        \"unescape_strings\": false,\r\n        \"wrap_line_length\": 0,\r\n        \"end_with_newline\": false\r\n    },\r\n    \"objectivec\": {\r\n        \"configPath\": \"\"\r\n    },\r\n    \"pawn\": {\r\n        \"configPath\": \"\"\r\n    },\r\n    \"perl\": {\r\n        \"perltidy_profile\": \"\"\r\n    },\r\n    \"php\": {\r\n        \"fixers\": \"\",\r\n        \"level\": \"\"\r\n    },\r\n    \"sql\": {\r\n        \"indent_size\": 4,\r\n        \"keywords\": \"upper\",\r\n        \"identifiers\": \"lower\"\r\n    },\r\n    \"vala\": {\r\n        \"configPath\": \"\"\r\n    }\r\n}\r\n```\r\n\r\n**Home Options**: \r\nOptions from `/Users/fake_user/.jsbeautifyrc`\r\n```json\r\n{}\r\n```\r\n\r\n**EditorConfig Options**: \r\nOptions from [EditorConfig](http://editorconfig.org/) file\r\n```json\r\n{}\r\n```\r\n\r\n**Project Options**: \r\nOptions from `.jsbeautifyrc` files starting from directory `/Users/fake_user/dev/remsci` and going up to root\r\n```json\r\n[\r\n    {},\r\n    {},\r\n    {},\r\n    {}\r\n]\r\n```\r\n\r\n## Results\r\n\r\n**Beautified File Contents**: \r\n```python\r\nError: spawn autopep8 ENOENT\r\n```\r\n\r\n**Logs**: \r\n```\r\n2015-05-05T18:32:18.183Z - info: [/Users/fake_user/.atom/packages/atom-beautify/src/beautifiers/index.coffee] beautify \r\nfrom unittest import TestCase\r\n\r\n\r\nclass Bar(TestCase):\r\n\r\n    def fakefunction(param, second_param):\r\n        pass\r\n\r\n    def test_indentation(self):\r\n        foo = self.fake_function(param='hello',\r\n                                 second_param='world',\r\n                                 )\r\n        bar = 'after_continuing typing'\r\n        return foo, bar\r\n [ { indent_size: 4, indent_char: ' ', indent_with_tabs: false },\r\n  { python: \r\n     { autopep8_path: '/Users/fake_user/venv/default/bin/autopep8',\r\n       max_line_length: 79,\r\n       indent_size: 4,\r\n       ignore: [Object] },\r\n    cs: { configPath: '' },\r\n    c: { configPath: '' },\r\n    cpp: { configPath: '' },\r\n    css: \r\n     { indent_size: 4,\r\n       indent_char: ' ',\r\n       selector_separator_newline: false,\r\n       newline_between_rules: false,\r\n       preserve_newlines: false },\r\n    d: { configPath: '' },\r\n    html: \r\n     { indent_inner_html: false,\r\n       indent_size: 4,\r\n       indent_char: ' ',\r\n       brace_style: 'collapse',\r\n       indent_scripts: 'normal',\r\n       wrap_line_length: 250,\r\n       wrap_attributes: 'auto',\r\n       wrap_attributes_indent_size: 4,\r\n       preserve_newlines: true,\r\n       max_preserve_newlines: 10,\r\n       unformatted: [Object],\r\n       end_with_newline: false },\r\n    java: { configPath: '' },\r\n    js: \r\n     { indent_size: 4,\r\n       indent_char: ' ',\r\n       indent_level: 0,\r\n       indent_with_tabs: false,\r\n       preserve_newlines: true,\r\n       max_preserve_newlines: 10,\r\n       space_in_paren: false,\r\n       jslint_happy: false,\r\n       space_after_anon_function: false,\r\n       brace_style: 'collapse',\r\n       break_chained_methods: false,\r\n       keep_array_indentation: false,\r\n       keep_function_indentation: false,\r\n       space_before_conditional: true,\r\n       eval_code: false,\r\n       unescape_strings: false,\r\n       wrap_line_length: 0,\r\n       end_with_newline: false },\r\n    objectivec: { configPath: '' },\r\n    pawn: { configPath: '' },\r\n    perl: { perltidy_profile: '' },\r\n    php: { fixers: '', level: '' },\r\n    sql: { indent_size: 4, keywords: 'upper', identifiers: 'lower' },\r\n    vala: { configPath: '' } },\r\n  {},\r\n  {},\r\n  {},\r\n  {},\r\n  {},\r\n  {} ] Python /Users/fake_user/dev/remsci/dummy_file.py\r\n2015-05-05T18:32:18.183Z - verbose: [/Users/fake_user/.atom/packages/atom-beautify/src/beautifiers/index.coffee] Python name=Python, namespace=python, grammars=[Python], extensions=[py], type=integer, default=79, description=set maximum allowed line length (Supported by autopep8), title=Python - Max line length, beautifiers=[autopep8], type=integer, default=4, minimum=0, description=Indentation size/length (Supported by autopep8), title=Python - Indent size, beautifiers=[autopep8], type=array, default=[E24], type=string, description=do not fix these errors/warnings (Supported by autopep8), title=Python - Ignore, beautifiers=[autopep8], beautifiers=[autopep8]\r\n2015-05-05T18:32:18.183Z - verbose: [/Users/fake_user/.atom/packages/atom-beautify/src/beautifiers/index.coffee] beautifier autopep8 silly=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, debug=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, verbose=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, info=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, warn=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, error=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, onLogging=function (handler) {\r\n        var subscription;\r\n        subscription = emitter.on('logging', handler);\r\n        return subscription;\r\n      }, silly=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, debug=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, verbose=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, info=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, warn=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, error=function (msg) {\r\n      // build argument list (level, msg, ... [string interpolate], [{metadata}], [callback])\r\n      var args = [level].concat(Array.prototype.slice.call(arguments));\r\n      target.log.apply(target, args);\r\n    }, onLogging=function (handler) {\r\n        var subscription;\r\n        subscription = emitter.on('logging', handler);\r\n        return subscription;\r\n      }, languages=[Python], \u001B[1;36mBASH \u001B[1;31m3.2\u001B[m - DISPLAY on \u001B[1;31m/private/tmp/com.apple.launchd.O3V8Ukoszc/org.macosforge.xquartz:0\u001B[m=undefined, Tue May  5 13:32:10 CDT 2015=undefined, \u001B[1;35m=undefined, It is not doing the thing we like to do, but liking the thing we have to do,=undefined, that makes life blessed.=undefined, \t\t-- Goethe=undefined, \u001B[m=undefined, GIT_PS1_SHOWDIRTYSTATE=true, PIP_DOWNLOAD_CACHE=/Users/fake_user/.pip/cache, LESS_TERMCAP_mb=\u001B[01;31m, LESS_TERMCAP_md=\u001B[01;31m, PIP_REQUIRE_VIRTUALENV=true, LESS_TERMCAP_me=\u001B[0m, SHELL=/bin/bash, CLICOLOR=1, TMPDIR=/var/folders/dg/_x_l7t090hqc074zc54h418c0000gn/T/, BOWTIE2_INDEXES=/Users/fake_user/work/RemSeq/genome/, Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.Fp2PZdQUak/Render, LESS_TERMCAP_ue=\u001B[0m, ATOM_HOME=/Users/fake_user/.atom, USER=fake_user, TIMEFORMAT=, real %3R\tuser %3U\tsys %3S\tpcpu %P=undefined, LD_LIBRARY_PATH=/usr/local/ngs/ngs-sdk/lib64:, COMMAND_MODE=unix2003, SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.y6YCPLAfV3/Listeners, __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0, PAGER=less, WORKON_HOME=/Users/fake_user/.virtualenvs, LESS_TERMCAP_us=\u001B[01;32m, LSCOLORS=ExFxBxDxCxegedabagacad, PROJECT_HOME=/Users/fake_user/dev, GOOGLE_API_KEY=AIzaSyAQfxPJiounkhOjODEO5ZieffeBv6yft2Q, PATH=/opt/local/bin:/opt/local/sbin:/Users/fake_user/local/bin:/usr/local/bin:/Users/fake_user/Dropbox/bin:/Users/fake_user/local/lib:/Users/fake_user/Dropbox/lib:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin, PWD=/, NGS_BAM_LIBDIR=/usr/local/ngs/ngs-bam/lib64, BOWTIE_INDEXES=/Users/fake_user/work/RemSeq/genome/, NODE_PATH=/Applications/Atom.app/Contents/Resources/app.asar/exports, XPC_FLAGS=0x0, NODE_ENV=production, GIT_PS1_SHOWUNTRACKEDFILES=true, HISTIGNORE=&:bg:fg:ll:h, HISTCONTROL=ignoredups, XPC_SERVICE_NAME=0, LESSCHARSET=latin1, NGS_LIBDIR=/usr/local/ngs/ngs-sdk/lib64, SHLVL=1, HOME=/Users/fake_user, LESS=-i -N -w  -z-4 -g -e -M -X -F -R -P%t?f%f \\, :stdin .?pb%pb\\%:?lbLine %lb:?bbByte %bb:-...=undefined, PYTHONPATH=/Users/fake_user/dev/scripts:, LOGNAME=fake_user, LESS_TERMCAP_so=\u001B[01;44;33m, CLASSPATH=/usr/local/ngs/ngs-java/jar/ngs-java.jar:, LESSOPEN=|/usr/bin/lesspipe.sh %s 2>&-, ARCHFLAGS=-arch x86_64, DISPLAY=/private/tmp/com.apple.launchd.O3V8Ukoszc/org.macosforge.xquartz:0, HOSTFILE=/Users/fake_user/.hosts, HISTTIMEFORMAT=[%d/%m %H:%M:%S] , LESS_TERMCAP_se=\u001B[0m, _=/usr/bin/env, \\e[1;31mHasta la vista, baby\\e[m=undefined, _envCacheDate=Tue May 05 2015 13:32:10 GMT-0500 (CDT)\r\n2015-05-05T18:32:18.184Z - debug: [/Users/fake_user/.atom/packages/atom-beautify/src/beautifiers/beautifier.coffee] tempFile input null path=/var/folders/dg/_x_l7t090hqc074zc54h418c0000gn/T/input11545-17456-3jxw1n, fd=39\r\n2015-05-05T18:32:18.185Z - debug: [/Users/fake_user/.atom/packages/atom-beautify/src/beautifiers/beautifier.coffee] spawn autopep8 0=/var/folders/dg/_x_l7t090hqc074zc54h418c0000gn/T/input11545-17456-3jxw1n, 1=--max-line-length, 2=79, 3=--indent-size, 4=4, 5=--ignore, 6=E24\r\n2015-05-05T18:32:18.193Z - debug: [/Users/fake_user/.atom/packages/atom-beautify/src/beautifiers/beautifier.coffee] error Error: spawn autopep8 ENOENT\r\n  at exports._errnoException (util.js:734:11)\r\n  at Process.ChildProcess._handle.onexit (child_process.js:1035:32)\r\n  at child_process.js:1127:20\r\n  at process._tickCallback (node.js:357:13)\r\n\r\n\r\n```\r\n\r\n"}}