[Twisted-Python] Python3 twistd daemon for Ubuntu 14.04 alternatives

Dave Curtis dcurtis at savioke.com
Wed Feb 22 10:17:26 MST 2017


> 
>> So my problem is that while my protocol stack spins up very nicely and trivially easy using the twistd daemon, the standard python3-twisted package for 14.04 is waaaay behind and doesn't include twistd (!), and I haven't found a good backport.  I'd also like to avoid doing things that make life hard for DevOps, such as pip3 installing and risking a package manager fight.
> 
> The general solution to this problem is "don't use the system Python environment to deploy your applications".
> 
> This is what virtualenv is for.
> 

Yes, well, the standard practice around here is to wrap up deliverables in a .deb so that the DevOps tools can do automated deploys.  I suppose it is possible to wrap up a venv in a .deb, but I’ve never done looked into it. Pointers welcome.

>> So some options:
>> - Is there a reliable backport of the python3-twisted package for 14.04?  Google is failing me on that one.
>> [...]
>> - Perhaps I should create my own backport for Ubuntu 14.04 of the current python3-twisted .deb.  (This is probably not the right list to ask, but I'm happy to dereference a pointer.)
> 
> Both of these options are bad.  Installing or creating a backport will break any system tools that depend on the python3-twisted package.  This is better than `sudo pip3 install`, but only a little.
> 
>> - All I need is the most basic twistd functionality.  Perhaps I should spin up my own by snarfing the code out of the twisted source repo.  I can package this with my stuff temporarily and get on with life.  Clues to the relevant parts of the repo welcome, I haven't poked around much in Twisted sources so need a road map.
> 
> If you have the ability to ship parts of the Twisted stack, there's a tool that can automate the "snarfing": pip :-).
> 
>> This is a short-term problem for me, we are transitioning to 16.04 soon, but the process is driven by other parts of the software stack. So I don't want to over-invest.  I'm looking for a reasonable band-aid.
> 
> 16.04 will also be out of date.

So… If you would like to dive into reasons… we do robots.  We use ROS, the Robot Operating System.  LTS versions of ROS are tied to LTS versions of Ubuntu.  Transitioning from one LTS version of ROS to another is, as they say, “non-trivial”.  Being on a stale version of Ubuntu is part of the price for using ROS, because ROS just can’t move that fast.  No one likes it.  A lot of people (in many ROS-based companies, and the OSRF) are working to improve the situation.  That doesn’t help me this week.  Now, why are the DevOps people here so conservative?  Because doing a remote update on a robot in the field, and having it fail, has two impacts: 1) we stop billing the customer until the robot is running again, and 2) we put someone on an airplane to make the robot run again.  

> 
> I'm tempted to launch into a diatribe about namespacing, containers, and application isolation generally, but before I do - why is it that you want to use the system Python environment?  Had you just not considered the option of virtual environments?

Legitimate questions.  Fitting into the existing deployment flow, and ummm… can I wrap a venv in a .deb? ‘Cuz that would be cool.

Another poster mentioned Anaconda…. I’m not a huge fan.  I am using it extensively as part of the Udacity self-driving car class, and I will admit that it would be nearly impossible for Udacity to deploy the project environment any other way.  But I see Anaconda as a very heavy-weight solution for projects requiring a huge infrastructure, and my problem is no where near large enough that the benefits justifies the cost.  A simple venv is more in line.

> 
> -glyph
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20170222/56484f8f/attachment-0002.html>


More information about the Twisted-Python mailing list