{"action":"created","comment":{"url":"https://api.github.com/repos/pantsbuild/pants/pulls/comments/145262390","pull_request_review_id":70037933,"id":145262390,"diff_hunk":"@@ -53,7 +53,7 @@ def cmdline(self, args=()):\n     cmdline = ' '.join(self._pex.cmdline(args))\n     pex_path = self._pex_path()\n     if pex_path:\n-     return '{env_var_name}={pex_path} {cmdline}'.format(env_var_name=self._PEX_PATH_ENV_VAR_NAME,\n+      return '{env_var_name}={pex_path} {cmdline}'.format(env_var_name=self._PEX_PATH_ENV_VAR_NAME,\n                                                          pex_path=pex_path,\n                                                          cmdline=cmdline)","path":"src/python/pants/backend/python/tasks2/python_execution_task_base.py","position":null,"original_position":7,"commit_id":"98acd2f7646a9e212ecf46447f3f0d09de75df57","original_commit_id":"98acd2f7646a9e212ecf46447f3f0d09de75df57","user":{"login":"kwlzn","id":1883523,"avatar_url":"https://avatars0.githubusercontent.com/u/1883523?v=4","gravatar_id":"","url":"https://api.github.com/users/kwlzn","html_url":"https://github.com/kwlzn","followers_url":"https://api.github.com/users/kwlzn/followers","following_url":"https://api.github.com/users/kwlzn/following{/other_user}","gists_url":"https://api.github.com/users/kwlzn/gists{/gist_id}","starred_url":"https://api.github.com/users/kwlzn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kwlzn/subscriptions","organizations_url":"https://api.github.com/users/kwlzn/orgs","repos_url":"https://api.github.com/users/kwlzn/repos","events_url":"https://api.github.com/users/kwlzn/events{/privacy}","received_events_url":"https://api.github.com/users/kwlzn/received_events","type":"User","site_admin":false},"body":"these hanging lines should align to the parent too.","created_at":"2017-10-17T21:32:51Z","updated_at":"2017-10-17T21:32:51Z","html_url":"https://github.com/pantsbuild/pants/pull/4969#discussion_r145262390","pull_request_url":"https://api.github.com/repos/pantsbuild/pants/pulls/4969","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/pantsbuild/pants/pulls/comments/145262390"},"html":{"href":"https://github.com/pantsbuild/pants/pull/4969#discussion_r145262390"},"pull_request":{"href":"https://api.github.com/repos/pantsbuild/pants/pulls/4969"}}},"pull_request":{"url":"https://api.github.com/repos/pantsbuild/pants/pulls/4969","id":146295217,"html_url":"https://github.com/pantsbuild/pants/pull/4969","diff_url":"https://github.com/pantsbuild/pants/pull/4969.diff","patch_url":"https://github.com/pantsbuild/pants/pull/4969.patch","issue_url":"https://api.github.com/repos/pantsbuild/pants/issues/4969","number":4969,"state":"open","locked":false,"title":"Fix setting of PEX_PATH in ./pants run (v2 backend) ","user":{"login":"CMLivingston","id":12532471,"avatar_url":"https://avatars1.githubusercontent.com/u/12532471?v=4","gravatar_id":"","url":"https://api.github.com/users/CMLivingston","html_url":"https://github.com/CMLivingston","followers_url":"https://api.github.com/users/CMLivingston/followers","following_url":"https://api.github.com/users/CMLivingston/following{/other_user}","gists_url":"https://api.github.com/users/CMLivingston/gists{/gist_id}","starred_url":"https://api.github.com/users/CMLivingston/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMLivingston/subscriptions","organizations_url":"https://api.github.com/users/CMLivingston/orgs","repos_url":"https://api.github.com/users/CMLivingston/repos","events_url":"https://api.github.com/users/CMLivingston/events{/privacy}","received_events_url":"https://api.github.com/users/CMLivingston/received_events","type":"User","site_admin":false},"body":"### Problem\r\n\r\nApp servers that need to re-execute (apps watching for file systems changes, jupyter notebooks, etc.) throw an ImportError when being ran with `./pants run` because the pants runner pex is losing context of where to find the requirements pex, the sources pex, and any other pexes to merge into the runtime environment. This context is encapsulated in a search path called `PEX_PATH`, which is being loaded into the `PEX_PATH` environment variable and is consequently scrubbed out of the environment upon re-exec by pex internal logic. \r\n\r\n### Solution\r\n\r\nCompletely remove any setting of `PEX_PATH` in the environment upon construction of the pants runner pex and instead pass this extra pex path information to the `pex_info` metadata that is used by the `PEXBuilder` object to construct the pants runner pex. \r\n\r\n### Result\r\n\r\nApplications that need to re-execute will now be able to locate the sources module and entry point because the search path to resolve them (`PEX_PATH`) will be persisted in the pants runner pex's PEX-INFO metadata. ","created_at":"2017-10-12T19:34:01Z","updated_at":"2017-10-17T21:32:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5cd41fc361e0bf9ef6e21b641395bbc9d8102685","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/pantsbuild/pants/pulls/4969/commits","review_comments_url":"https://api.github.com/repos/pantsbuild/pants/pulls/4969/comments","review_comment_url":"https://api.github.com/repos/pantsbuild/pants/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pantsbuild/pants/issues/4969/comments","statuses_url":"https://api.github.com/repos/pantsbuild/pants/statuses/98acd2f7646a9e212ecf46447f3f0d09de75df57","head":{"label":"CMLivingston:clivingston/pex-path-to-pex-info","ref":"clivingston/pex-path-to-pex-info","sha":"98acd2f7646a9e212ecf46447f3f0d09de75df57","user":{"login":"CMLivingston","id":12532471,"avatar_url":"https://avatars1.githubusercontent.com/u/12532471?v=4","gravatar_id":"","url":"https://api.github.com/users/CMLivingston","html_url":"https://github.com/CMLivingston","followers_url":"https://api.github.com/users/CMLivingston/followers","following_url":"https://api.github.com/users/CMLivingston/following{/other_user}","gists_url":"https://api.github.com/users/CMLivingston/gists{/gist_id}","starred_url":"https://api.github.com/users/CMLivingston/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMLivingston/subscriptions","organizations_url":"https://api.github.com/users/CMLivingston/orgs","repos_url":"https://api.github.com/users/CMLivingston/repos","events_url":"https://api.github.com/users/CMLivingston/events{/privacy}","received_events_url":"https://api.github.com/users/CMLivingston/received_events","type":"User","site_admin":false},"repo":{"id":102772315,"name":"pants","full_name":"CMLivingston/pants","owner":{"login":"CMLivingston","id":12532471,"avatar_url":"https://avatars1.githubusercontent.com/u/12532471?v=4","gravatar_id":"","url":"https://api.github.com/users/CMLivingston","html_url":"https://github.com/CMLivingston","followers_url":"https://api.github.com/users/CMLivingston/followers","following_url":"https://api.github.com/users/CMLivingston/following{/other_user}","gists_url":"https://api.github.com/users/CMLivingston/gists{/gist_id}","starred_url":"https://api.github.com/users/CMLivingston/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMLivingston/subscriptions","organizations_url":"https://api.github.com/users/CMLivingston/orgs","repos_url":"https://api.github.com/users/CMLivingston/repos","events_url":"https://api.github.com/users/CMLivingston/events{/privacy}","received_events_url":"https://api.github.com/users/CMLivingston/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/CMLivingston/pants","description":"Pants Build System","fork":true,"url":"https://api.github.com/repos/CMLivingston/pants","forks_url":"https://api.github.com/repos/CMLivingston/pants/forks","keys_url":"https://api.github.com/repos/CMLivingston/pants/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CMLivingston/pants/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CMLivingston/pants/teams","hooks_url":"https://api.github.com/repos/CMLivingston/pants/hooks","issue_events_url":"https://api.github.com/repos/CMLivingston/pants/issues/events{/number}","events_url":"https://api.github.com/repos/CMLivingston/pants/events","assignees_url":"https://api.github.com/repos/CMLivingston/pants/assignees{/user}","branches_url":"https://api.github.com/repos/CMLivingston/pants/branches{/branch}","tags_url":"https://api.github.com/repos/CMLivingston/pants/tags","blobs_url":"https://api.github.com/repos/CMLivingston/pants/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CMLivingston/pants/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CMLivingston/pants/git/refs{/sha}","trees_url":"https://api.github.com/repos/CMLivingston/pants/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CMLivingston/pants/statuses/{sha}","languages_url":"https://api.github.com/repos/CMLivingston/pants/languages","stargazers_url":"https://api.github.com/repos/CMLivingston/pants/stargazers","contributors_url":"https://api.github.com/repos/CMLivingston/pants/contributors","subscribers_url":"https://api.github.com/repos/CMLivingston/pants/subscribers","subscription_url":"https://api.github.com/repos/CMLivingston/pants/subscription","commits_url":"https://api.github.com/repos/CMLivingston/pants/commits{/sha}","git_commits_url":"https://api.github.com/repos/CMLivingston/pants/git/commits{/sha}","comments_url":"https://api.github.com/repos/CMLivingston/pants/comments{/number}","issue_comment_url":"https://api.github.com/repos/CMLivingston/pants/issues/comments{/number}","contents_url":"https://api.github.com/repos/CMLivingston/pants/contents/{+path}","compare_url":"https://api.github.com/repos/CMLivingston/pants/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CMLivingston/pants/merges","archive_url":"https://api.github.com/repos/CMLivingston/pants/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CMLivingston/pants/downloads","issues_url":"https://api.github.com/repos/CMLivingston/pants/issues{/number}","pulls_url":"https://api.github.com/repos/CMLivingston/pants/pulls{/number}","milestones_url":"https://api.github.com/repos/CMLivingston/pants/milestones{/number}","notifications_url":"https://api.github.com/repos/CMLivingston/pants/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CMLivingston/pants/labels{/name}","releases_url":"https://api.github.com/repos/CMLivingston/pants/releases{/id}","deployments_url":"https://api.github.com/repos/CMLivingston/pants/deployments","created_at":"2017-09-07T18:32:48Z","updated_at":"2017-09-07T18:32:56Z","pushed_at":"2017-10-17T21:30:02Z","git_url":"git://github.com/CMLivingston/pants.git","ssh_url":"git@github.com:CMLivingston/pants.git","clone_url":"https://github.com/CMLivingston/pants.git","svn_url":"https://github.com/CMLivingston/pants","homepage":"http://pantsbuild.org/","size":80376,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pantsbuild:master","ref":"master","sha":"a44b1416e05cc4e1a11758c11da843505062a2dc","user":{"login":"pantsbuild","id":3065172,"avatar_url":"https://avatars0.githubusercontent.com/u/3065172?v=4","gravatar_id":"","url":"https://api.github.com/users/pantsbuild","html_url":"https://github.com/pantsbuild","followers_url":"https://api.github.com/users/pantsbuild/followers","following_url":"https://api.github.com/users/pantsbuild/following{/other_user}","gists_url":"https://api.github.com/users/pantsbuild/gists{/gist_id}","starred_url":"https://api.github.com/users/pantsbuild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pantsbuild/subscriptions","organizations_url":"https://api.github.com/users/pantsbuild/orgs","repos_url":"https://api.github.com/users/pantsbuild/repos","events_url":"https://api.github.com/users/pantsbuild/events{/privacy}","received_events_url":"https://api.github.com/users/pantsbuild/received_events","type":"Organization","site_admin":false},"repo":{"id":7209075,"name":"pants","full_name":"pantsbuild/pants","owner":{"login":"pantsbuild","id":3065172,"avatar_url":"https://avatars0.githubusercontent.com/u/3065172?v=4","gravatar_id":"","url":"https://api.github.com/users/pantsbuild","html_url":"https://github.com/pantsbuild","followers_url":"https://api.github.com/users/pantsbuild/followers","following_url":"https://api.github.com/users/pantsbuild/following{/other_user}","gists_url":"https://api.github.com/users/pantsbuild/gists{/gist_id}","starred_url":"https://api.github.com/users/pantsbuild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pantsbuild/subscriptions","organizations_url":"https://api.github.com/users/pantsbuild/orgs","repos_url":"https://api.github.com/users/pantsbuild/repos","events_url":"https://api.github.com/users/pantsbuild/events{/privacy}","received_events_url":"https://api.github.com/users/pantsbuild/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pantsbuild/pants","description":"Pants Build System","fork":false,"url":"https://api.github.com/repos/pantsbuild/pants","forks_url":"https://api.github.com/repos/pantsbuild/pants/forks","keys_url":"https://api.github.com/repos/pantsbuild/pants/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pantsbuild/pants/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pantsbuild/pants/teams","hooks_url":"https://api.github.com/repos/pantsbuild/pants/hooks","issue_events_url":"https://api.github.com/repos/pantsbuild/pants/issues/events{/number}","events_url":"https://api.github.com/repos/pantsbuild/pants/events","assignees_url":"https://api.github.com/repos/pantsbuild/pants/assignees{/user}","branches_url":"https://api.github.com/repos/pantsbuild/pants/branches{/branch}","tags_url":"https://api.github.com/repos/pantsbuild/pants/tags","blobs_url":"https://api.github.com/repos/pantsbuild/pants/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pantsbuild/pants/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pantsbuild/pants/git/refs{/sha}","trees_url":"https://api.github.com/repos/pantsbuild/pants/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pantsbuild/pants/statuses/{sha}","languages_url":"https://api.github.com/repos/pantsbuild/pants/languages","stargazers_url":"https://api.github.com/repos/pantsbuild/pants/stargazers","contributors_url":"https://api.github.com/repos/pantsbuild/pants/contributors","subscribers_url":"https://api.github.com/repos/pantsbuild/pants/subscribers","subscription_url":"https://api.github.com/repos/pantsbuild/pants/subscription","commits_url":"https://api.github.com/repos/pantsbuild/pants/commits{/sha}","git_commits_url":"https://api.github.com/repos/pantsbuild/pants/git/commits{/sha}","comments_url":"https://api.github.com/repos/pantsbuild/pants/comments{/number}","issue_comment_url":"https://api.github.com/repos/pantsbuild/pants/issues/comments{/number}","contents_url":"https://api.github.com/repos/pantsbuild/pants/contents/{+path}","compare_url":"https://api.github.com/repos/pantsbuild/pants/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pantsbuild/pants/merges","archive_url":"https://api.github.com/repos/pantsbuild/pants/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pantsbuild/pants/downloads","issues_url":"https://api.github.com/repos/pantsbuild/pants/issues{/number}","pulls_url":"https://api.github.com/repos/pantsbuild/pants/pulls{/number}","milestones_url":"https://api.github.com/repos/pantsbuild/pants/milestones{/number}","notifications_url":"https://api.github.com/repos/pantsbuild/pants/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pantsbuild/pants/labels{/name}","releases_url":"https://api.github.com/repos/pantsbuild/pants/releases{/id}","deployments_url":"https://api.github.com/repos/pantsbuild/pants/deployments","created_at":"2012-12-17T17:39:04Z","updated_at":"2017-10-17T16:16:41Z","pushed_at":"2017-10-17T21:30:04Z","git_url":"git://github.com/pantsbuild/pants.git","ssh_url":"git@github.com:pantsbuild/pants.git","clone_url":"https://github.com/pantsbuild/pants.git","svn_url":"https://github.com/pantsbuild/pants","homepage":"http://pantsbuild.org/","size":80432,"stargazers_count":853,"watchers_count":853,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":250,"mirror_url":null,"open_issues_count":526,"forks":250,"open_issues":526,"watchers":853,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pantsbuild/pants/pulls/4969"},"html":{"href":"https://github.com/pantsbuild/pants/pull/4969"},"issue":{"href":"https://api.github.com/repos/pantsbuild/pants/issues/4969"},"comments":{"href":"https://api.github.com/repos/pantsbuild/pants/issues/4969/comments"},"review_comments":{"href":"https://api.github.com/repos/pantsbuild/pants/pulls/4969/comments"},"review_comment":{"href":"https://api.github.com/repos/pantsbuild/pants/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pantsbuild/pants/pulls/4969/commits"},"statuses":{"href":"https://api.github.com/repos/pantsbuild/pants/statuses/98acd2f7646a9e212ecf46447f3f0d09de75df57"}},"author_association":"NONE"}}
{"actor":{"display_login":"kwlzn"}}