> On Feb 23, 2017, at 2:51 AM, Phil Mayers <p.may...@imperial.ac.uk> wrote: > > On 23/02/17 10:27, Hynek Schlawack wrote: > >> What I don't quite understand is how people can be in love with Go’s >> static linking but complaining about Virtualenvs in deployments. >> Unwieldy as virtualenvs are: *for Python code* they are exactly that: >> statically linked build artifacts. The principles are very similar, >> the execution is arguably better for Go. > > Well, for one thing, Python virtualenv are problematic w.r.t. being > relocatable. That alone makes them harder to use than a Go binary.
Yeah, this is the big issue. Hence: pex ;-). Or, 'pile of wheels' and 'venv on the fly (without dev tools)' as the installation mechanism on the target environment. > But honestly I think we're talking at cross purposes. I'm not complaining > about virtualenv. We use them quite successfully. I think this has been a super useful discussion, not at cross purposes at all! There's been a little bit of back-and-forth and repeating certain things, but not useless. > I'm trying to point out that *some* might find the system Python attractive > because they can use OS-supplied python packages in lieu of the effort of > setting up a binary build infrastructure. So, I think everyone has a different perspective here; Hynek seems to be saying "all containers all the time" ;-). But from my perspective, linux distros provide a super useful service by providing a gigantic integrated build environment for TONS of C code. Avoiding the time and cost associated with setting up, i.e., an ImageMagick dev environment is _WELL_ worth the complexity of distro packages. Multiply this out by dozens of dependencies that a large application or site ends up needing, and distro packaging pays for itself many times over. However, avoiding having python-dev and a C compiler installed in your build environment seems like a bit of a fool's errand to me. It's superficially appealing, but I think that our guidance to most people should be "always have a build environment so you can build extension modules, any non-trivial project will eventually need a few". The work required to have a _python_ dev environment is orders of magnitude below, say, OpenSSL or ImageMagick or Avahi or (et cetera). > But I'm clearly not getting my point across, so I'm going to stop now. Really I think that this has been a great exchange of ideas, and though we're veering off topic a little bit, I want there to be more discussion among systems operators how Twisted can and should be deployed, operationalized, monitored, etc. Twisted even has weird little edge-cases of its own (like the plugin system) which can sometimes complicate things. So by all means please don't feel like you need to stop sharing your view. -glyph _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python