{"action":"created","issue":{"url":"https://api.github.com/repos/JeremyBYU/bpyproj/issues/6","repository_url":"https://api.github.com/repos/JeremyBYU/bpyproj","labels_url":"https://api.github.com/repos/JeremyBYU/bpyproj/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/JeremyBYU/bpyproj/issues/6/comments","events_url":"https://api.github.com/repos/JeremyBYU/bpyproj/issues/6/events","html_url":"https://github.com/JeremyBYU/bpyproj/issues/6","id":319325653,"number":6,"title":"Handling Binary Dependencies for Pyproj","user":{"login":"JeremyBYU","id":6628085,"avatar_url":"https://avatars1.githubusercontent.com/u/6628085?v=4","gravatar_id":"","url":"https://api.github.com/users/JeremyBYU","html_url":"https://github.com/JeremyBYU","followers_url":"https://api.github.com/users/JeremyBYU/followers","following_url":"https://api.github.com/users/JeremyBYU/following{/other_user}","gists_url":"https://api.github.com/users/JeremyBYU/gists{/gist_id}","starred_url":"https://api.github.com/users/JeremyBYU/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeremyBYU/subscriptions","organizations_url":"https://api.github.com/users/JeremyBYU/orgs","repos_url":"https://api.github.com/users/JeremyBYU/repos","events_url":"https://api.github.com/users/JeremyBYU/events{/privacy}","received_events_url":"https://api.github.com/users/JeremyBYU/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-05-01T20:57:36Z","updated_at":"2018-05-02T12:03:13Z","closed_at":null,"author_association":"OWNER","body":"I had a very difficult time trying to handle the binary dependencies for `pyproj`. At first I did the following:\r\n\r\n1. Install Pip using [get-pip.py](https://pip.pypa.io/en/stable/installing/)\r\n2. Then install pyproj using pip\r\n\r\nThis worked for many cases (meaning my personal machines), but invariably ran into many issues as soon as I began testing on blank slate virtual machines:\r\n1. The dependency requires a compilation process, at least for sure on linux. The linux system has to have c compiler AND has to have the `python-dev` package installed (needs Python.h and MANY other header files).  Also these header files HAVE to be accessible from the python environment. So if you are using the embedded python environment built into Blender (Python 3.5), the header files need to be installed [there](https://blender.stackexchange.com/questions/81740/python-h-missing-in-blender-python)!\r\n\r\n\r\n## Current Solution\r\n\r\nConda has a great package manager. They have prepackaged bundles for the module `pyproj`. The entire fully proper package *including* binary dependency for every Operating System (Windows, Linux, OSX), Architecture (32 bit vs 64bit), and mainstream python version (python 2.7, python 3.5, etc.) combination is readily [available](https://anaconda.org/conda-forge/pyproj/files).\r\n\r\nAll new versions of blender use Python 3.5. I downloaded 64 bit versions of this package for all 3 main operating system and put them in the `dependencies/binaries` folder.  My method then is to copy the module (along with its nicely packaged dependency) into the site-packages directory of the embedded python environment. So far testings has shown this to work really well, however there is still two issues\r\n\r\n1. Need to test on Mac OS (I believe the directory structure is different).\r\n2. Need to learn how to handle if Blender is **not** using the embdedd python environment. Its a little rare for this to occur, and is mostly only present if someone installed blender on linux using `sudo apt-get install blender` and already has python installed.\r\n3. Need to consider if I should just *dynamically* download the dependency (instead of including it in the git repository). This way I don't have to package them myself. I feel like this may be the better way, but maybe a combination of both is better (keep the three main OS's but download if the environment is different).\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/JeremyBYU/bpyproj/issues/comments/385954590","html_url":"https://github.com/JeremyBYU/bpyproj/issues/6#issuecomment-385954590","issue_url":"https://api.github.com/repos/JeremyBYU/bpyproj/issues/6","id":385954590,"user":{"login":"vvoovv","id":613295,"avatar_url":"https://avatars1.githubusercontent.com/u/613295?v=4","gravatar_id":"","url":"https://api.github.com/users/vvoovv","html_url":"https://github.com/vvoovv","followers_url":"https://api.github.com/users/vvoovv/followers","following_url":"https://api.github.com/users/vvoovv/following{/other_user}","gists_url":"https://api.github.com/users/vvoovv/gists{/gist_id}","starred_url":"https://api.github.com/users/vvoovv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vvoovv/subscriptions","organizations_url":"https://api.github.com/users/vvoovv/orgs","repos_url":"https://api.github.com/users/vvoovv/repos","events_url":"https://api.github.com/users/vvoovv/events{/privacy}","received_events_url":"https://api.github.com/users/vvoovv/received_events","type":"User","site_admin":false},"created_at":"2018-05-02T12:03:13Z","updated_at":"2018-05-02T12:03:13Z","author_association":"COLLABORATOR","body":"Just tried to test interaction of the addons. It didn't download anything.\r\n\r\nI'd prefer to simplify the things wherever possible. So not to run Blender under administrator on Windows.\r\n\r\nSo lets bundle dependencies with the bpyproj addon!"}}
{"actor":{"display_login":"vvoovv"}}