I've installed Plex on a ubuntu x64 server and it's working great. It's really amazing work you're doing.
I've issues developing channel though.
First issue concerns debugging :
Each time my plugins crash I have to reboot the server via sudo service plexmediaserver restart and wait for the plex server to restart ( 30s ~ 1min ).
If I don't do that my plugin is not shown anymore, it's really annoying and make development hard.
Is there a solution for this ?
Second issue concerns syspath & SecuredPython:
I don't manage to include external libraries in my __init__.py
I wan't to import transmissionrpc ( no need to explain what my plugin will do .. ) but I've the error: importerror no module named transmissionrpc
My python modules are usually installed in /usr/local/lib/python2.7/dist-packages or /usr/local/lib/python2.7/site-package and I would want these to be accessible in my plex plugin.
I tried to add the paths to sys.path.append but it's not working.
I tried to symlink theses folders to .bundle/Content/Code/Libraries/Shared but it's neither working
Adding the /transmissionrpc folder in .bundle/Content/Code is working but I would have to import all dependencies an it's not clean ..
First, if you have to restart PMS every time your channel crashes there's something else wrong with the setup. Which PMS version are you running? I remember seeing recently that there were some problems on recent linux versions of a few PMS builds so maybe you have one of these ones installed. I don't know the version numbers offhand but if you tell us which version you are using it would be helpful tro track it down.
I'm not positive of this, but I _think_ that PMS on Linux uses a bundled python version (and not the system one). Using external libs can get quite interesting because of this, you will need to make sure you are using the libs for the appropriate python version (which I'm not sure of but I think it's 2.5 or 2.6).
I'm pretty sure that all versions of PMS now use a bundled python v2.7. As Gerk said, using external libraries gets tricky. You pretty much need to include them in your channel bundle to be sure that they will be available and work as expected. The best place to put them is in a separate "shared libraries" folder, like so:
One of the other channel developers posted some details about a development environment that he uses. I (still) haven't tested it out but, it might suit your needs. Read about it here.