5 ms·
Pure Python is definitely a selling point for those of us who regularly deploy to multiple platforms. Knowing you can 'pip install pure-python-lib' on any plat
by randlet 13y ago
Pure Python is definitely a selling point for those of us who regularly deploy to multiple platforms. Knowing you can 'pip install pure-python-lib' on any platform and have it work every single time without regards to what c compilers and c libraries you have available is a major boon.
- davb 13y agoOr, more importantly (in my case), very easily bundle pure Python code with your application. I understand the arguments against it, but in any project that might produce deliverables that will be in play for more than a few weeks the first thing I do is create a "lib" folder where any third party dependencies live and get imported from. With Python this is usually very easy. I've maintained my fair share of legacy code and more often than not one of the biggest issues is tracking down ancient libraries which work with my code. There are very few packages I trust to maintain fairly stable interfaces and be available years into the future (things like Apache HTTPd, PostgreSQL and memcached); everything else lives in the project lib folder. I can "hg clone" my app at any time and get the exact version of the third party packages I need. Every so often I update the packages and test the integration.
- lotyrin 13y agoThis is why good dependency management systems support both specifying compatible semver ranges but also pinning/locking specific releases. You get nice one-step install/update/add/remove for your deps with the tool, but a fresh checkout can get the last known working versions and deploys can be guaranteed to use the same versions as were run in CI, etc. Looking now, it seems that pip can finally do this with pip-compile.
- zzzeek 13y agoSolr and its backend Lucene are written in Java. so it runs on any platform arguably even more easily than Python.
- randlet 13y agoUnderstood but I was addressing whether 'pure Python' is a selling feature which it undeniably is. edit: I don't mean to say that it is a selling feature for everyone (i.e. people who aren't already using Python) but for those who are already using Python it definitely is.
- ris 13y ago> so it runs on any platform arguably even more easily than Python I think that would be a very difficult argument to make.
- danudey 13y agoIf you're assuming a known-good Python stack, then a pure-python solution will just work. Using Solr/Lucene means having a known-good Python stack and a known-good JVM. Python is installed with most (all?) Linux distributions by default, but Java is almost never part of the base install. Also, a pure-python solution allows for an in-process index/search, rather than adding another external process dependency which needs to be monitored and maintained.