{"action":"created","issue":{"url":"https://api.github.com/repos/OpenCMISS/manage/issues/40","labels_url":"https://api.github.com/repos/OpenCMISS/manage/issues/40/labels{/name}","comments_url":"https://api.github.com/repos/OpenCMISS/manage/issues/40/comments","events_url":"https://api.github.com/repos/OpenCMISS/manage/issues/40/events","html_url":"https://github.com/OpenCMISS/manage/issues/40","id":127526982,"number":40,"title":"Python bindings installation","user":{"login":"chrispbradley","id":723889,"avatar_url":"https://avatars.githubusercontent.com/u/723889?v=3","gravatar_id":"","url":"https://api.github.com/users/chrispbradley","html_url":"https://github.com/chrispbradley","followers_url":"https://api.github.com/users/chrispbradley/followers","following_url":"https://api.github.com/users/chrispbradley/following{/other_user}","gists_url":"https://api.github.com/users/chrispbradley/gists{/gist_id}","starred_url":"https://api.github.com/users/chrispbradley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrispbradley/subscriptions","organizations_url":"https://api.github.com/users/chrispbradley/orgs","repos_url":"https://api.github.com/users/chrispbradley/repos","events_url":"https://api.github.com/users/chrispbradley/events{/privacy}","received_events_url":"https://api.github.com/users/chrispbradley/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-19T20:06:05Z","updated_at":"2016-01-19T20:09:26Z","closed_at":null,"body":"I've just realised that the python bindings are going to be at little more complicated that I thought. In order to handle multiple configurations the plan was to install the bindings under an arch path in the opencmiss install directory. Setup scripts can then be run from the install directory to install a particular config to the system python locations. One issue is then how to select a particular config to run when you execute a python example script. It may be possible to handle this via PYTHONPATH and other PATH environment variables. Another option might be to have an overarching python module that is in a fixed location and then loads appropriate config modules by looking at environement variables etc. A second issue is how this might all work for a developer setup with a central installation. Here a developer is using a centralised location for all the dependencies with their own code that they are developing. When they compile their library and python bindings they want an easy way to specify which of their local python configs to use. Maybe the python bindings need to be in an archpath directory under the local developer component before installation to a central location. Whatever python config switching option is used then needs to work with the local component as well as the central isntallation."},"comment":{"url":"https://api.github.com/repos/OpenCMISS/manage/issues/comments/172971511","html_url":"https://github.com/OpenCMISS/manage/issues/40#issuecomment-172971511","issue_url":"https://api.github.com/repos/OpenCMISS/manage/issues/40","id":172971511,"user":{"login":"nickerso","id":811244,"avatar_url":"https://avatars.githubusercontent.com/u/811244?v=3","gravatar_id":"","url":"https://api.github.com/users/nickerso","html_url":"https://github.com/nickerso","followers_url":"https://api.github.com/users/nickerso/followers","following_url":"https://api.github.com/users/nickerso/following{/other_user}","gists_url":"https://api.github.com/users/nickerso/gists{/gist_id}","starred_url":"https://api.github.com/users/nickerso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nickerso/subscriptions","organizations_url":"https://api.github.com/users/nickerso/orgs","repos_url":"https://api.github.com/users/nickerso/repos","events_url":"https://api.github.com/users/nickerso/events{/privacy}","received_events_url":"https://api.github.com/users/nickerso/received_events","type":"User","site_admin":false},"created_at":"2016-01-19T20:09:26Z","updated_at":"2016-01-19T20:09:26Z","body":"Hi Chris, the standard way to handle this kind of thing in python is with virtual environments. We discussed this briefly at the OpenCMISS meeting last week and will cover it some more this week. I'm already doing this with multiple Iron builds and simply switching to the appropriate venv as needed."}}