|
@@ -58,29 +58,35 @@ class Installer:
|
|
|
# .profile is not loaded yet. So we should use full path.
|
|
|
pypy_bin = "~/FrameworkBenchmarks/installs/pypy-2.0.2/bin"
|
|
|
python_bin = "~/FrameworkBenchmarks/installs/python-2.7.5/bin"
|
|
|
+ python3_bin= "~/FrameworkBenchmarks/installs/python-3.3.2/bin"
|
|
|
+ def easy_install(pkg, two=True, three=False, pypy=False):
|
|
|
+ cmd = "/easy_install -U '" + pkg + "'"
|
|
|
+ if two: self.__run_command(python_bin + cmd)
|
|
|
+ if three: self.__run_command(python3_bin + cmd)
|
|
|
+ if pypy: self.__run_command(pypy_bin + cmd)
|
|
|
|
|
|
self.__run_command("curl -L http://bitbucket.org/pypy/pypy/downloads/pypy-2.0.2-linux64.tar.bz2 | tar xj")
|
|
|
- self.__run_command("curl http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz | tar xz")
|
|
|
+ self.__run_command("curl -L http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz | tar xz")
|
|
|
+ self.__run_command("curl -L http://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.xz | tar xJ")
|
|
|
self.__run_command("./configure --prefix=$HOME/FrameworkBenchmarks/installs/python-2.7.5 --disable-shared", cwd="Python-2.7.5")
|
|
|
+ self.__run_command("./configure --prefix=$HOME/FrameworkBenchmarks/installs/python-3.3.2 --disable-shared", cwd="Python-3.3.2")
|
|
|
self.__run_command("make -j", cwd="Python-2.7.5")
|
|
|
self.__run_command("make install", cwd="Python-2.7.5")
|
|
|
+ self.__run_command("make -j", cwd="Python-3.3.2")
|
|
|
+ self.__run_command("make install", cwd="Python-3.3.2")
|
|
|
|
|
|
- self.__run_command("curl -L https://bitbucket.org/pypa/setuptools/downloads/setuptools-0.7.1.tar.gz | tar xz")
|
|
|
- self.__run_command(pypy_bin + "/pypy setup.py install", cwd="setuptools-0.7.1")
|
|
|
- self.__run_command(python_bin + "/python setup.py install", cwd="setuptools-0.7.1")
|
|
|
+ self.__run_command("wget https://bitbucket.org/pypa/setuptools/downloads/ez_setup.py")
|
|
|
+ self.__run_command(pypy_bin + "/pypy ez_setup.py")
|
|
|
+ self.__run_command(python_bin + "/python ez_setup.py")
|
|
|
+ self.__run_command(python3_bin + "/python3 ez_setup.py")
|
|
|
|
|
|
- self.__run_command("curl https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz | tar xz")
|
|
|
- self.__run_command(pypy_bin + "/pypy setup.py install", cwd="pip-1.3.1")
|
|
|
- self.__run_command(python_bin + "/python setup.py install", cwd="pip-1.3.1")
|
|
|
-
|
|
|
- self.__run_command(python_bin + "/pip install MySQL-python==1.2.4")
|
|
|
- self.__run_command(python_bin + "/pip install simplejson==3.3.0")
|
|
|
- self.__run_command("curl http://initd.org/psycopg/tarballs/PSYCOPG-2-5/psycopg2-2.5.tar.gz | tar xz")
|
|
|
- self.__run_command(python_bin + "/python setup.py install", cwd="psycopg2-2.5")
|
|
|
- self.__run_command(python_bin + "/pip install --upgrade numpy==1.7.1")
|
|
|
- self.__run_command(pypy_bin + "/pip install PyMySQL==0.5")
|
|
|
- self.__run_command(python_bin + "/pip install PyMySQL==0.5")
|
|
|
- self.__run_command(python_bin + "/easy_install -U 'ujson==1.30'")
|
|
|
+ easy_install('pip==1.3.1', two=True, three=True, pypy=True)
|
|
|
+ easy_install('MySQL-python==1.2.4')
|
|
|
+ easy_install('PyMySQL==0.5', pypy=True)
|
|
|
+ easy_install('PyMySQL3==0.5', two=False, three=True)
|
|
|
+ easy_install('simplejson==3.3.0', two=True, three=True, pypy=False)
|
|
|
+ easy_install('psycopg2-2.5.1', three=True)
|
|
|
+ easy_install('ujson==1.33', three=True)
|
|
|
|
|
|
#
|
|
|
# nodejs
|
|
@@ -227,8 +233,10 @@ class Installer:
|
|
|
# Gunicorn
|
|
|
#
|
|
|
|
|
|
- self.__run_command(python_bin + "/easy_install -U 'gunicorn==0.17.4'")
|
|
|
- self.__run_command(python_bin + "/easy_install -U meinheld")
|
|
|
+ easy_install('gunicorn==17.5', two=True, three=True, pypy=True)
|
|
|
+ # meinheld HEAD supports gunicorn worker on Python 3
|
|
|
+ easy_install('https://github.com/mopemope/meinheld/archive/master.zip',
|
|
|
+ two=True, three=True, pypy=True)
|
|
|
|
|
|
#
|
|
|
# Resin
|
|
@@ -253,14 +261,14 @@ class Installer:
|
|
|
##############################
|
|
|
# Tornado
|
|
|
##############################
|
|
|
- packages = "tornado==3.0.1 motor==0.1 pymongo==2.5"
|
|
|
- self.__run_command(python_bin + "/pip install " + packages)
|
|
|
- self.__run_command(pypy_bin + "/pip install " + packages)
|
|
|
+ easy_install('tornado==3.1', two=True, three=True, pypy=True)
|
|
|
+ easy_install('motor==0.1.1', two=True, three=True, pypy=True)
|
|
|
+ easy_install('pymongo==2.5.2', two=True, three=True, pypy=True)
|
|
|
|
|
|
##############################
|
|
|
# Django
|
|
|
##############################
|
|
|
- self.__run_command(python_bin + "/pip install -U https://www.djangoproject.com/download/1.6a1/tarball/")
|
|
|
+ easy_install("https://www.djangoproject.com/download/1.6b1/tarball/", two=True, three=True, pypy=True)
|
|
|
|
|
|
##############################
|
|
|
# Grails
|
|
@@ -273,14 +281,19 @@ class Installer:
|
|
|
##############################
|
|
|
# Flask
|
|
|
##############################
|
|
|
- packages = "flask==0.9 flask-sqlalchemy==0.16 sqlalchemy==0.8.1 jinja2==2.7 werkzeug==0.8.3"
|
|
|
- self.__run_command(python_bin + "/pip install " + packages)
|
|
|
- self.__run_command(pypy_bin + "/pip install " + packages)
|
|
|
+ easy_install('Werkzeug==0.9.2', two=True, three=True, pypy=True)
|
|
|
+ easy_install('flask==0.10.1', two=True, three=True, pypy=True)
|
|
|
+ easy_install('sqlalchemy==0.8.2', two=True, three=True, pypy=True)
|
|
|
+ easy_install('Jinja2==2.7', two=True, three=True, pypy=True)
|
|
|
+ # Flask-SQLAlchemy HEAD supports Python 3
|
|
|
+ easy_install('https://github.com/mitsuhiko/flask-sqlalchemy/archive/master.zip',
|
|
|
+ two=True, three=True, pypy=True)
|
|
|
|
|
|
##############################
|
|
|
# Bottle
|
|
|
##############################
|
|
|
- self.__run_command(python_bin + "/pip install bottle bottle-sqlalchemy")
|
|
|
+ easy_install('bottle==0.11.6', two=True, three=True, pypy=True)
|
|
|
+ easy_install('bottle-sqlalchemy==0.4', two=True, three=True, pypy=True)
|
|
|
|
|
|
##############################
|
|
|
# Play 2
|