{"action":"opened","issue":{"url":"https://api.github.com/repos/TylerGubala/blenderpy/issues/4","repository_url":"https://api.github.com/repos/TylerGubala/blenderpy","labels_url":"https://api.github.com/repos/TylerGubala/blenderpy/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/TylerGubala/blenderpy/issues/4/comments","events_url":"https://api.github.com/repos/TylerGubala/blenderpy/issues/4/events","html_url":"https://github.com/TylerGubala/blenderpy/issues/4","id":319745681,"number":4,"title":"Make pip-installable","user":{"login":"TylerGubala","id":22432839,"avatar_url":"https://avatars0.githubusercontent.com/u/22432839?v=4","gravatar_id":"","url":"https://api.github.com/users/TylerGubala","html_url":"https://github.com/TylerGubala","followers_url":"https://api.github.com/users/TylerGubala/followers","following_url":"https://api.github.com/users/TylerGubala/following{/other_user}","gists_url":"https://api.github.com/users/TylerGubala/gists{/gist_id}","starred_url":"https://api.github.com/users/TylerGubala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TylerGubala/subscriptions","organizations_url":"https://api.github.com/users/TylerGubala/orgs","repos_url":"https://api.github.com/users/TylerGubala/repos","events_url":"https://api.github.com/users/TylerGubala/events{/privacy}","received_events_url":"https://api.github.com/users/TylerGubala/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-05-02T23:30:10Z","updated_at":"2018-05-02T23:30:10Z","closed_at":null,"author_association":"OWNER","body":"There are several things preventing this module from being pip installable, the major two of which I can think of are:\r\n\r\n1) The setup script revolves around the presence of external build modules\r\n2) The setup script currently (manually) hard-copies the binaries and bpy module into the required locations\r\n\r\nLet's talk about these two in detail...\r\n\r\nFor number 1, currently the files needed to build the module, which are python modules, are the ultils modules, so `common_utils.py`, `win_utils.py` and so on.\r\n\r\nThe issue with these files being the code controlling the build process is that... well they won't be present until AFTER the pip installation... this is the purpose of the `setup_requires` argument of the setup routine; to specify dependencies required at setup time in order to gather those dependencies first, and only after that, run the rest of the setup script.\r\n\r\nSo right off the bat there is a need to move these additional scripts out into their own pip repo... possibly 'build_blender' or something of the like.\r\n\r\nFor the second issue, currently, after the build process completes, the files get manually copied into site-packages. Really, based on setuptools documentation, this is not ideal. There could probably be a call to include data files and a short manifest that covers almost every case for this expressed purpose, without the requirement to completely copy every file manually. This may also help the uninstall process, but more on that remains to be seen."}}
{"actor":{"display_login":"TylerGubala"}}