bird-house / birdhousebuilder.bootstrap Goto Github PK
View Code? Open in Web Editor NEWBootstrap scripts to start a birdhouse build
License: Apache License 2.0
Bootstrap scripts to start a birdhouse build
License: Apache License 2.0
minmal debian (docker image) is missing sudo
package
should not fail ... instead just using buildout.cfg (default)
update makefile and birds ... tests are a mixture of unit tests, functional tests, ...
This page - http://www.buildout.org/en/latest/install.html is pointing to bootstrap.pypa.io website:-
$ cd newproject
$ wget -O bootstrap.py https://bootstrap.pypa.io/bootstrap-buildout.py
there is not always access to https://bootstrap.pypa.io/bootstrap-buildout.py
So it would be better to keep a copy of it in the repo and update it from time to time.
currently it just updates conda, which fails if one is currently in a env.
maybe added a skeleton to start with a new wps "bird" project ... currently you would just clone an existing on like Emu ...
used to pin versions comming from pypi ... especially the buildout recipes.
https://pypi.python.org/pypi/zc.buildout/2.3.1#loading-configuration-from-urls
Command '['wget', '--no-check-certificate', '-N', '--continue', '-x', '-P', '/homel/cnangini/.conda/envs/bir
dhouse/var/cache/pywps', u'http://webportals.ipsl.jussieu.fr/thredds/fileServer/EUROCORDEX/extremoscope_FRA_20151009/polygons/TG/yr/rcp45/13/TG_rcp45_MetEir-ECEARTH_RACMO22E_1971-2100.nc']'
... need x509 cert and fetch test data
buildout uses boostrap shell script which require (unfortunately) a very recent setuptools (>12.3 by now). The conda setuptools is usally older (12.2 by now).
solutions:
error message:
File "/home/travis/build/bird-house/flyingpigeon/eggs/birdhousebuilder.recipe.nginx-0.2.5-py2.7.egg/birdhousebuilder/recipe/nginx/__init__.py", line 19, in generate_cert
from OpenSSL import crypto
File "/home/travis/.conda/envs/birdhouse/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL
File "/home/travis/.conda/envs/birdhouse/lib/python2.7/site-packages/OpenSSL/rand.py", line 11, in <module>
from OpenSSL._util import (
File "/home/travis/.conda/envs/birdhouse/lib/python2.7/site-packages/OpenSSL/_util.py", line 6, in <module>
from cryptography.hazmat.bindings.openssl.binding import Binding
ImportError: No module named cryptography.hazmat.bindings.openssl.binding
... should not accidentally check-in temp files and large files.
... currently the conda recipe has some common methods
if user installs with root
then stop installation and show user a warning "install with normal user".
Later on the installer might create a normal user on its own ...
... so that it can be used out-of-the box.
pytest supports also nose
https://en.wikipedia.org/wiki/Cowsay
but of course with a bird ;)
should be a reduced version of the current Makefile
curl is part of anaconda.
curl --insecure --silent http://somewhere/test-123.zip --output test.zip
birdhouse components (hummingbird, flyingpigeon, ...) might have conda dependencies which are not compatible (like numpy 1.8 or 1.9). By default they should use there own conda environment:
... buildout needs to be run with a specific target for requirements.
needs futher investigation on sphinx
# install libraries to stop SSL related InsecurePlatformWarning
pyopenssl ; python_version < '2.7.9'
ndg-httpsclient ; python_version < '2.7.9'
pyasn1 ; python_version < '2.7.9'
... not just the anaconda home folder ... might be a left over and no conda is installed.
buildout bootstrap needs setuptools. Currently we are using setuptools from conda. If it would not be available bootstrap would fetch setuptools from pypi using curl
. The download link is using https
but the site has a self-signed certificate. curl
is run without --insecure
option and failes to download setuptools ...
Maybe setuptools download will be fixed ... or one has to provide setuptools in advance (using conda, manual download, ...)
anaconda home can be defined with export ANACONDA_HOME=/opt/anaconda
. But the installation uses a fixed conda enviroment home ... so things are always installed into ~/.conda/envs/birdhouse
.
Make the conda envs dir configurable.
pyc files are not removed on an update and can fail the application.
make distclean does remove them (removes everything that is not in git).
it should be possible to use a different anaconda_home than ~/anaconda
should also use a shared anaconda installation (read-only) and create its own environment
... it should be possible to use a local custom.cfg
which is then used within the docker app.
the docker recipe needs to be changed for this as well.
... old processes are stilling running but anconda env is not available anymore. How to simply kill all services?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.