2

I decided to try Anaconda, it seems that too many large companies are using it. I was amazed by the number of libraries included by default

installing: python-2.7.9-2 ...
installing: conda-3.10.0-py27_0 ...
installing: conda-build-1.11.0-py27_0 ...
installing: conda-env-2.1.3-py27_0 ...
installing: _license-1.1-py27_0 ...
installing: abstract-rendering-0.5.1-np19py27_0 ...
installing: argcomplete-0.8.4-py27_0 ...
installing: astropy-1.0.1-np19py27_0 ...
installing: bcolz-0.8.1-np19py27_0 ...
installing: beautiful-soup-4.3.2-py27_0 ...
installing: binstar-0.10.1-py27_3 ...
installing: bitarray-0.8.1-py27_0 ...
installing: blaze-core-0.7.3-np19py27_0 ...
installing: blz-0.6.2-np19py27_0 ...
installing: bokeh-0.8.1-np19py27_1 ...
installing: boto-2.36.0-py27_0 ...
installing: cairo-1.12.18-1 ...
installing: cdecimal-2.3-py27_0 ...
installing: certifi-14.05.14-py27_0 ...
installing: cffi-0.9.2-py27_0 ...
installing: clyent-0.3.4-py27_0 ...
installing: colorama-0.3.3-py27_0 ...
installing: configobj-5.0.6-py27_0 ...
installing: cryptography-0.8-py27_0 ...
installing: curl-7.38.0-0 ...
installing: cython-0.22-py27_0 ...
installing: cytoolz-0.7.2-py27_0 ...
installing: datashape-0.4.4-np19py27_1 ...
installing: decorator-3.4.0-py27_0 ...
installing: docutils-0.12-py27_0 ...
installing: dynd-python-0.6.5-np19py27_0 ...
installing: enum34-1.0.4-py27_0 ...
installing: fastcache-1.0.2-py27_0 ...
installing: flask-0.10.1-py27_1 ...
installing: fontconfig-2.11.1-2 ...
installing: freetype-2.5.2-0 ...
installing: funcsigs-0.4-py27_0 ...
installing: futures-2.2.0-py27_0 ...
installing: gevent-1.0.1-py27_0 ...
installing: gevent-websocket-0.9.3-py27_0 ...
installing: greenlet-0.4.5-py27_0 ...
installing: grin-1.2.1-py27_1 ...
installing: h5py-2.4.0-np19py27_0 ...
installing: hdf5-1.8.14-0 ...
installing: ipython-3.0.0-py27_0 ...
installing: ipython-notebook-3.0.0-py27_1 ...
installing: ipython-qtconsole-3.0.0-py27_0 ...
installing: itsdangerous-0.24-py27_0 ...
installing: jdcal-1.0-py27_0 ...
installing: jedi-0.8.1-py27_0 ...
installing: jinja2-2.7.3-py27_1 ...
installing: jpeg-8d-0 ...
installing: jsonschema-2.4.0-py27_0 ...
installing: libdynd-0.6.5-0 ...
installing: libffi-3.0.13-0 ...
installing: libpng-1.5.13-1 ...
installing: libsodium-0.4.5-0 ...
installing: libtiff-4.0.2-1 ...
installing: libxml2-2.9.0-0 ...
installing: libxslt-1.1.28-0 ...
installing: llvmlite-0.2.2-py27_1 ...
installing: lxml-3.4.2-py27_0 ...
installing: markupsafe-0.23-py27_0 ...
installing: matplotlib-1.4.3-np19py27_1 ...
installing: mistune-0.5.1-py27_0 ...
installing: mock-1.0.1-py27_0 ...
installing: multipledispatch-0.4.7-py27_0 ...
installing: networkx-1.9.1-py27_0 ...
installing: nltk-3.0.2-np19py27_0 ...
installing: nose-1.3.4-py27_1 ...
installing: numba-0.17.0-np19py27_0 ...
installing: numexpr-2.3.1-np19py27_0 ...
installing: numpy-1.9.2-py27_0 ...
installing: odo-0.3.1-np19py27_0 ...
installing: openpyxl-1.8.5-py27_0 ...
installing: openssl-1.0.1k-1 ...
installing: pandas-0.15.2-np19py27_1 ...
installing: patsy-0.3.0-np19py27_0 ...
installing: pep8-1.6.2-py27_0 ...
installing: pillow-2.7.0-py27_1 ...
installing: pip-6.0.8-py27_0 ...
installing: pixman-0.26.2-0 ...
installing: ply-3.4-py27_0 ...
installing: psutil-2.2.1-py27_0 ...
installing: ptyprocess-0.4-py27_0 ...
installing: py-1.4.26-py27_0 ...
installing: py2cairo-1.10.0-py27_2 ...
installing: pyasn1-0.1.7-py27_0 ...
installing: pycosat-0.6.1-py27_0 ...
installing: pycparser-2.10-py27_0 ...
installing: pycrypto-2.6.1-py27_0 ...
installing: pycurl-7.19.5.1-py27_0 ...
installing: pyflakes-0.8.1-py27_0 ...
installing: pygments-2.0.2-py27_0 ...
installing: pyopenssl-0.14-py27_0 ...
installing: pyparsing-2.0.3-py27_0 ...
installing: pyqt-4.11.3-py27_0 ...
installing: pytables-3.1.1-np19py27_2 ...
installing: pytest-2.6.4-py27_0 ...
installing: python-dateutil-2.4.1-py27_0 ...
installing: pytz-2015.2-py27_0 ...
installing: pyyaml-3.11-py27_0 ...
installing: pyzmq-14.5.0-py27_0 ...
installing: qt-4.8.6-0 ...
installing: readline-6.2-2 ...
installing: redis-2.6.9-0 ...
installing: redis-py-2.10.3-py27_0 ...
installing: requests-2.6.0-py27_0 ...
installing: rope-0.9.4-py27_1 ...
installing: runipy-0.1.3-py27_0 ...
installing: scikit-image-0.11.2-np19py27_0 ...
installing: scikit-learn-0.15.2-np19py27_0 ...
installing: scipy-0.15.1-np19py27_0 ...
installing: setuptools-14.3-py27_0 ...
installing: sip-4.16.5-py27_0 ...
installing: six-1.9.0-py27_0 ...
installing: sockjs-tornado-1.0.1-py27_0 ...
installing: sphinx-1.2.3-py27_0 ...
installing: spyder-2.3.4-py27_1 ...
installing: spyder-app-2.3.4-py27_0 ...
installing: sqlalchemy-0.9.9-py27_0 ...
installing: sqlite-3.8.4.1-1 ...
installing: ssl_match_hostname-3.4.0.2-py27_0 ...
installing: statsmodels-0.6.1-np19py27_0 ...
installing: sympy-0.7.6-py27_0 ...
installing: system-5.8-2 ...
installing: terminado-0.5-py27_0 ...
installing: theano-0.6.0-np19py27_0 ...
installing: tk-8.5.18-0 ...
installing: toolz-0.7.1-py27_0 ...
installing: tornado-4.1-py27_0 ...
installing: ujson-1.33-py27_0 ...
installing: unicodecsv-0.9.4-py27_0 ...
installing: util-linux-2.21-0 ...
installing: werkzeug-0.10.1-py27_0 ...
installing: xlrd-0.9.3-py27_0 ...
installing: xlsxwriter-0.6.7-py27_0 ...
installing: xlwt-0.7.5-py27_0 ...
installing: yaml-0.1.4-0 ...
installing: zeromq-4.0.4-0 ...
installing: zlib-1.2.8-0 ...
installing: anaconda-2.2.0-np19py27_0 ...
installing: _cache-0.0-x0 ...

I need many of them, it makes deployment so I easy, it has a cloning option, too many good options, but there are libraries I don't need, like PyQt and others.

So when it comes to deployment, is it a good idea to buy time and make your job easier by bloating the servers?

Lynob
  • 129
  • 12
  • [Deployments, another unsolved problem in software engineering](http://programmers.stackexchange.com/questions/272534/deployments-another-unsolved-problem-in-software-engineering) – gnat May 15 '15 at 18:44
  • Rhetorical response: is it a good idea to write a method that is not used now but may be used in the future? This doesn't answer the question, but that's my opinion on installing things that are not needed. – Matthew May 15 '15 at 19:11
  • @Matthew and what's your answer to your question? unrelated but interesting question – Lynob May 15 '15 at 19:43
  • I try and not predict the future, writing code takes time, and that's time wasted if it's never used. In addition, if the code is not currently used, we don't know if it will even be correct when we do need it. Your problem is a little bit different as you're not writing code, but you are still configuring an environment which takes time. Even if the time is negligible, it may be overwhelming to look at many dependencies to try and find what you're looking for. – Matthew May 15 '15 at 19:48

2 Answers2

5

Contractors from various fields typically bring their entire toolbox to a job. Sometimes, they even bring tools that they're not entirely familiar with, on the off chance that they might find them necessary... But also, probably because those tools came in a set, and that set was made in a 'one-size-fits-all' fashion, as it seems has been done here.

You may not need bits to remove hex or torx screws, for instance, but they're in your kit, and you take your kit wherever you go. On the off chance that you do find one, you'll be ready to use it!

Contractors that work in the field of malware removal, as another example, keep all sorts of removal software on their discs and keys. It is often justified.

If you don't feel justified using the bandwidth or drive space, see if there's a way to do a custom install, or if removing the libraries by hand will remedy the situation. Or you could always learn to use them all! ;)

Ayelis
  • 191
  • 7
1

Anaconda minimal install is about 30MB, while full install is about 300MB. so your customized libraries can range in that interval.

The main question is if servers disk space is so critical that 200MB make big difference.

In that case, you can always do a script to install 'minimal version' and your choosen libraries.

If you are thinking on deploy on dozens, hundreds or thousands of servers, its worth to create a script anyway (using fabric, maybe)