I'm having trouble getting a working install of the Plivo framework due to issues between Plivo and Gevent.
The install itself works, and plivo is up and running. However, if I try to handle an inbound call that touches Plivo in any way, I get this in plivo-outbound.log:
>> 2013-12-09 12:41:48,416 plivo-outbound[7312]: ERROR: (1) AssertionError: Impossible to call blocking function in the event loop callback
No problem, right? I just need to install an older version of Gevent?
Well, the problem is that plivo_install.sh script already tries to do that, but it gets thwarted. These lines:
># force installation of gevent 1.03a
Don't actually install that older version. it appears, instead, to install the latest version of gevent. Here's a cut and paste from what the install script outputs:
> Downloading/unpacking gevent
> Downloading gevent-1.0.tar.gz (1.4MB): 1.4MB downloaded
> Running setup.py egg_info for package gevent
I did try changing that "pip install" line, but it runs into an unrelated issues...installing gevent directly from github requires cython, which then fails for another unrelated reason (cython complains about encoding in some of the base plivo files).
And, to cut to the chase:
Is there some simple modification I can make to the plivo_install.sh script to get it to install the older version of gevent?
Things I've tried:
- Removing --upgrade from the pip install command. It still installs the newest version of gevent
- I also considered doing it by hand, but Plivo leverages python virtual environments, and there's a fairly complex chain of variables in the script that have to be set correctly for that to work.
Lastly, FWIW, as far as I can tell, this means that nobody can run the simple "Get Started" instructions and get a working install of the Plivo framework.