Git Product home page Git Product logo

stellar's People

Contributors

candeira avatar edsharp avatar frewsxcv avatar gbourdin avatar kvesteri avatar mo-gr avatar nealtodd avatar oboxodo avatar orf avatar pypingou avatar quantus avatar ralphbean avatar styd avatar svisser avatar teemu avatar tvuotila avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stellar's Issues

Stellar errors after upgrading to 0.4.3

After upgrading Stellar to 0.4.3 with Python 3.4.3 on OSX 10.10.4 I get the following error message after running any stellar commands:

Traceback (most recent call last):
  File "/usr/local/bin/stellar", line 7, in <module>
    from stellar.command import main
ImportError; no module named 'stellar.command'

I didn't see any error messages from pip when upgrading, I even tried uninstalling Stellar and reinstalling it but still no error.

Mass delete snapshots for a project

Given a project that has multiple snapshots created by stellar and I want to drop (remove) all snapshots for a given project is there a faster way to do it than calling stellar remove for each snapshot? If not maybe introduce a stellar purge that removes all snapshots for a project.

Stellar looking for wrong database

I was having trouble adding stellar to an internal project with respect to database connections being severed upon restore. I created a proof of concept to demonstrate the issue but have uncovered another one first.

The proof of concept can be found here:

https://gist.github.com/twolfson/d68a33c2d2dca3732691

Expected behavior: stellar should backup our database test successfully

Actual behavior: stellar is complaining that it cannot find database stellar

Impossible to restore a snapshot

All of a sudden my attempts to stellar restore end with

Waiting for background process(1) to finish.....

Rebooting does not help.

Workaround

So i installed stellar from sources after editing following code :

def is_copy_process_running(self, snapshot):
    if snapshot.worker_pid == 1:  
        return False
    return pid_exists(snapshot.worker_pid)

Which resulted in

Background process missing, doing slow restore.
Restoring database xxxxx
Restore complete

and fixed my pb

Can't install on Linux Ubuntu 12.04

Full error log :

Downloading/unpacking stellar
  Downloading stellar-0.3.2.tar.gz
  Running setup.py (path:/tmp/pip_build_root/stellar/setup.py) egg_info for package stellar

    warning: no files found matching '*.md' under directory 'stellar'
    warning: no files found matching '*.txt' under directory 'stellar'
    warning: no files found matching '*.md' under directory 'tests'
    warning: no files found matching '*.txt' under directory 'tests'
Requirement already satisfied (use --upgrade to upgrade): PyYAML in /usr/lib/python2.7/dist-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy in /usr/local/lib/python2.7/dist-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): humanize in /usr/local/lib/python2.7/dist-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): pytest in /usr/local/lib/python2.7/dist-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): schema in /usr/local/lib/python2.7/dist-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): click in /usr/local/lib/python2.7/dist-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy-Utils in /usr/local/lib/python2.7/dist-packages (from stellar)
Downloading/unpacking psutil (from stellar)
  Downloading psutil-2.1.1.tar.gz (216kB): 216kB downloaded
  Running setup.py (path:/tmp/pip_build_root/psutil/setup.py) egg_info for package psutil

    warning: no previously-included files matching '*' found under directory 'docs/_build'
Downloading/unpacking py>=1.4.22 (from pytest->stellar)
  Downloading py-1.4.23.tar.gz (189kB): 189kB downloaded
  Running setup.py (path:/tmp/pip_build_root/py/setup.py) egg_info for package py

Downloading/unpacking six (from SQLAlchemy-Utils->stellar)
  Downloading six-1.7.3-py2.py3-none-any.whl
Installing collected packages: stellar, psutil, py, six
  Running setup.py install for stellar

    warning: no files found matching '*.md' under directory 'stellar'
    warning: no files found matching '*.txt' under directory 'stellar'
    warning: no files found matching '*.md' under directory 'tests'
    warning: no files found matching '*.txt' under directory 'tests'
    Installing stellar script to /usr/local/bin
  Running setup.py install for psutil
    building '_psutil_linux' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c psutil/_psutil_linux.c -o build/temp.linux-x86_64-2.7/psutil/_psutil_linux.o
    psutil/_psutil_linux.c:12:20: erreur fatale: Python.h : Aucun fichier ou dossier de ce type
    compilation terminée.
    error: command 'gcc' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/psutil/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-bjihAH-record/install-record.txt --single-version-externally-managed --compile:
    running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/psutil

copying psutil/_pslinux.py -> build/lib.linux-x86_64-2.7/psutil

copying psutil/_psbsd.py -> build/lib.linux-x86_64-2.7/psutil

copying psutil/_pssunos.py -> build/lib.linux-x86_64-2.7/psutil

copying psutil/_pswindows.py -> build/lib.linux-x86_64-2.7/psutil

copying psutil/_common.py -> build/lib.linux-x86_64-2.7/psutil

copying psutil/_psposix.py -> build/lib.linux-x86_64-2.7/psutil

copying psutil/_compat.py -> build/lib.linux-x86_64-2.7/psutil

copying psutil/__init__.py -> build/lib.linux-x86_64-2.7/psutil

copying psutil/_psosx.py -> build/lib.linux-x86_64-2.7/psutil

running build_ext

building '_psutil_linux' extension

creating build/temp.linux-x86_64-2.7

creating build/temp.linux-x86_64-2.7/psutil

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c psutil/_psutil_linux.c -o build/temp.linux-x86_64-2.7/psutil/_psutil_linux.o

psutil/_psutil_linux.c:12:20: erreur fatale: Python.h : Aucun fichier ou dossier de ce type

compilation terminée.

error: command 'gcc' failed with exit status 1

----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/psutil/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-bjihAH-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/psutil
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/pip/__init__.py", line 185, in main
    return command.main(cmd_args)
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main
    text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 22: ordinal not in range(128)

lock table/rows

Can you answer if taking snapshots will lock tables or rows?

os.fork() not supported on windows

Installation and init works on Windows. Taking a snapshot fails with:

AttributeError: 'module' object has no attribute 'fork'

On pypi the package is listed with 'Platform: any" but os.fork is not supported on windows.
I would be great if stellar would not depend on os.fork. Else it should be documented that windows is not supported.

MySQL copy database operation does not re-enable keys

Caveats: I've not tested this; this is just an observation from looking at the code. It looks like the MySQL support is fairly recent, and I think this project is a really cool and useful tool. Thanks for releasing this.

It looks like the code that copies a MySQL DB disables keys on tables, but forgets to re-enable them:
https://github.com/fastmonkeys/stellar/blob/master/stellar/operations.py#L51-71

I'd imagine that a subsequent loop needs to iterate over the tables and re-enable the keys.

How does stellar work?

This looks great!

My question is how stellar interacts with the database and where it stores the snapshots. Does it do so by creating multiple copies of the database on the RDBMS? Or does it dump the data out as SQL and manage snapshots locally on the filesystem? Are the snapshots stored in full or is there an efficient scheme to store just the diffs?

Apologies if this is documented somewhere. I didn't see it in the README and haven't dug through the code to find out. It would be great to have a section of the README explaining how it works.

Connects to postgres, but fails to run other commands

After the fix in #31 I could connect to postgres databases, but now, after generating the stellar.yml, I can't run any command, all of them gives me database does not exist.

For example:
PostgreSQL: postgresql://localhost:5432/
MySQL: mysql+pymysql://root@localhost/: postgresql://user@localhost:5432/database
Please enter your project name (used internally, eg. sgro) [sgro]: 
Wrote stellar.yaml

Then, running stellar snapshot (or any other):

Traceback (...)
sqlalchemy.exc.OperationalError: (OperationalError) FATAL:  database "user" does not exist
None None

Make it usable as library (with passed in config)

I think stellar might be a good option for a (Django) test suite, where you want to rollback to a previous state (including data migrations - Django would flush the tables, but keep the schema migrated).

For this to be usable from the tests (without stellar init and a config file), it would be required to allow for passing in options to Stellar for example.

What do you think about that?
I'd be happy to prepare a PR for this.

Trying to create database with name too long for MySQL

Stellar generates a database name for the snapshot and the name is simply too long. It should be only 32 characters long.

Here is the backtrace:

(stellar)phacops@panda:~/code/snapshots$ stellar snapshot
Snapshotting database inventory_production
Traceback (most recent call last):
  File "/home/phacops/env/stellar/bin/stellar", line 9, in <module>
    load_entry_point('stellar==0.3.1', 'console_scripts', 'stellar')()
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/stellar/command.py", line 225, in main
    stellar()
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/click/core.py", line 572, in __call__
    return self.main(*args, **kwargs)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/click/core.py", line 552, in main
    rv = self.invoke(ctx)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/click/core.py", line 893, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/click/core.py", line 744, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/click/core.py", line 388, in invoke
    return callback(*args, **kwargs)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/stellar/command.py", line 51, in snapshot
    app.create_snapshot(name, before_copy=before_copy)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/stellar/app.py", line 114, in create_snapshot
    table.get_table_name('master')
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/stellar/operations.py", line 50, in copy_database
    create_database(raw_conn, to_database)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/stellar/operations.py", line 31, in create_database
    '%s%s' % (raw_conn.engine.url, database)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/sqlalchemy_utils/functions/database.py", line 215, in create_database
    engine.execute(text)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1752, in execute
    return connection.execute(statement, *multiparams, **params)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 721, in execute
    return self._execute_text(object, multiparams, params)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 870, in _execute_text
    statement, parameters
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
    context)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1160, in _handle_dbapi_exception
    exc_info
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
    context)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
    cursor.execute(statement, parameters)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/pymysql/cursors.py", line 132, in execute
    result = self._query(query)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/pymysql/cursors.py", line 271, in _query
    conn.query(q)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/pymysql/connections.py", line 726, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/pymysql/connections.py", line 861, in _read_query_result
    result.read()
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/pymysql/connections.py", line 1064, in read
    first_packet = self.connection._read_packet()
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/pymysql/connections.py", line 826, in _read_packet
    packet.check_error()
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/pymysql/connections.py", line 370, in check_error
    raise_mysql_exception(self._data)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/pymysql/err.py", line 116, in raise_mysql_exception
    _check_mysql_exception(errinfo)
  File "/home/phacops/env/stellar/local/lib/python2.7/site-packages/pymysql/err.py", line 112, in _check_mysql_exception
    raise InternalError(errno, errorvalue)
sqlalchemy.exc.InternalError: (InternalError) (1059, u"Identifier name 'stellar_inventory_production_b2351a3af7a734da97aca294f9128206_master' is too long") "CREATE DATABASE stellar_inventory_production_b2351a3af7a734da97aca294f9128206_master CHARACTER SET = 'utf8'" ()
(stellar)phacops@panda:~/code/snapshots$ 

Make diffs between snapshots

In a (unreleased) shell script to do something analogue I used a command from Percona Tools (MySQL only) to see the queries that migrate one table to another (could apply this to all tables in a snapshot):

pt-table-sync --noversion-check --nohex-blob --print h={hostname},D={dbname},t={table1} h={hostname},D={dbname},t={table2} -u {user} -p{password}

This is my prerequisite to switch from my custom tools to stellar. I am not aware of an equivalent command/utility for Postgres. Suggestions? Knowing that I could provide a patch.

Doesn't work.

$ pip install stellar

...

$ stellar version
Stellar 0.3.2
$ stellar list

$ stellar snapshot foo
Snapshotting database foo
$ stellar restore foo
Restoring database foo
Traceback (most recent call last):
  File "/usr/local/bin/stellar", line 9, in <module>
    load_entry_point('stellar==0.3.2', 'console_scripts', 'stellar')()
  File "/usr/local/lib/python2.7/site-packages/stellar/command.py", line 225, in main
    stellar()
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 609, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 589, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 935, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 781, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 416, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/stellar/command.py", line 109, in restore
    app.restore(snapshot)
  File "/usr/local/lib/python2.7/site-packages/stellar/app.py", line 160, in restore
    table.table_name
  File "/usr/local/lib/python2.7/site-packages/stellar/operations.py", line 97, in rename_database
    to_database
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 721, in execute
    return self._execute_text(object, multiparams, params)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 870, in _execute_text
    statement, parameters
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
    context)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1160, in _handle_dbapi_exception
    exc_info
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
    context)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (OperationalError) terminating connection due to administrator command
FATAL:  terminating connection due to administrator command
 '\n                ALTER DATABASE "stellar_foo_dcff08a82816ac154115a44e72505d74_slave" RENAME TO "foo"\n            ' {}

Could flawlessly execute the mentioned ALTER manually.

postgresql 10.1 pg_stat_activity.procpid does not exist

I upgraded to postgresql 10.1 recently and now when trying to take a snapshot i get:

Traceback (most recent call last):
  File "/usr/local/bin/stellar", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/stellar/command.py", line 279, in main
    stellar()
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/stellar/command.py", line 70, in snapshot
    app.create_snapshot(name, before_copy=before_copy)
  File "/usr/local/lib/python2.7/site-packages/stellar/app.py", line 120, in create_snapshot
    table.get_table_name('master')
  File "/usr/local/lib/python2.7/site-packages/stellar/operations.py", line 56, in copy_database
    terminate_database_connections(raw_conn, from_database)
  File "/usr/local/lib/python2.7/site-packages/stellar/operations.py", line 40, in terminate_database_connections
    ''' % {'pid_column': pid_column, 'database': database}
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 939, in execute
    return self._execute_text(object, multiparams, params)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1097, in _execute_text
    statement, parameters
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
    context)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
    exc_info
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
    context)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) column pg_stat_activity.procpid does not exist
LINE 2:                 SELECT pg_terminate_backend(pg_stat_activity...
                                                    ^
 [SQL: "\n                SELECT pg_terminate_backend(pg_stat_activity.procpid)\n                FROM pg_stat_activity\n                WHERE\n                    pg_stat_activity.datname = 'checklistpro' AND\n                    procpid <> pg_backend_pid();\n            "]

stellar init fails

When running stellar init after installing through sudo pip install stellar, I get the following error

Traceback (most recent call last):
  File "/usr/local/bin/stellar", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
    working_set.require(__requires__)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: click

Error installing with pip

When I try to install it via Pip, the following error is shown:

....
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c ext/_yaml.c -o build/temp.linux-x86_64-2.7/ext/_yaml.o

ext/_yaml.c:8:22: fatal error: pyconfig.h: Arquivo ou diretório não encontrado

 #include "pyconfig.h"

                      ^

compilation terminated.

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

I'm using Ubuntu 14.04.4 with Python 2.7.6 and Pip 1.5.4

ImportError can fail in other ways

For example:

ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so, 2): Symbol not found: _lo_lseek64 Referenced from: /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so Expected in: /usr/lib/libpq.5.dylib in /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so

which results in a wrong error message because Stellar only looks for string "psycopg" in the error message.

pip init mysql connection prompt

Not sure what the connection issue is. I do not know that root needs a pw but not sure how I can add that in. Please advise.

uptown@ubuntu ~/domains/processing[uploads_transfer*]$ stellar init
Please enter the url for your database.

For example:
PostreSQL: postgresql://localhost:5432/
MySQL: mysql+pymysql://root@localhost/: mysql://root@localhost
Could not connect to database: mysql://root@localhost/
Make sure database process is running and try again.

Please enter the url for your database.

For example:
PostreSQL: postgresql://localhost:5432/
MySQL: mysql+pymysql://root@localhost/: 

default database name

The stellar init command assumes that the database url does not contain a database name, it expects a url in the form of:

postgresql+psycopg2://<user>:<pass>@<host>/

if it does not contain the last / it stellar will add it.

When no database is defined, Postgresql assumes that there is a database named after the user, and attempts to connect to it. Something like:

postgresql+psycopg2://<user>:<pass>@<host>/<user>

If there is no database named after the user, the connection will fail.

permission denied to copy database

I got this error when trying to snapshot a Postgres database:

Snapshotting database admin_panel
Traceback (most recent call last):
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
    cursor.execute(statement, parameters)
psycopg2.ProgrammingError: permission denied to copy database "admin_panel"


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/cesar/venv/bin/stellar", line 9, in <module>
    load_entry_point('stellar==0.4.3', 'console_scripts', 'stellar')()
  File "/home/cesar/venv/lib/python3.4/site-packages/stellar/command.py", line 279, in main
    stellar()
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/home/cesar/venv/lib/python3.4/site-packages/stellar/command.py", line 70, in snapshot
    app.create_snapshot(name, before_copy=before_copy)
  File "/home/cesar/venv/lib/python3.4/site-packages/stellar/app.py", line 120, in create_snapshot
    table.get_table_name('master')
  File "/home/cesar/venv/lib/python3.4/site-packages/stellar/operations.py", line 65, in copy_database
    from_database
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 906, in execute
    return self._execute_text(object, multiparams, params)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1054, in _execute_text
    statement, parameters
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
    context)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1341, in _handle_dbapi_exception
    exc_info
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/util/compat.py", line 202, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/util/compat.py", line 185, in reraise
    raise value.with_traceback(tb)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) permission denied to copy database "admin_panel"
 [SQL: '\n                CREATE DATABASE "stellar_69dc3d044d9f1154" WITH TEMPLATE "admin_panel";\n

After some Googling, I managed to fix the problem running this query:

update pg_database set datistemplate = true where datname = 'admin_panel';

But I am not sure if that's an optimal solution

Plans for partial snapshots and exporting

Are there any plans to support partial snapshots of the database, which can then be gzipped and shipped to another machine?

My use case is that I have a large production database (millions of rows), and for development I only need a small portion locally for testing (thousands of rows).

MySQL snapshot didn't work.

I've anonymized settings bellow.

Here is my stellar.yaml file.

project_name: 'my_db_name'
tracked_databases: ['my_db_name']
url: 'mysql+pymysql://my_db_username:******************@localhost/'
stellar_url: 'mysql+pymysql://my_db_username:******************@localhost/stellar_data'

Here is my command line session.

(my-project) ❯ stellar init
Please enter the url for your database.

For example:
PostreSQL: postgresql://localhost:5432/
MySQL: mysql+pymysql://root@localhost/: mysql+pymysql://my_db_username:******************@localhost/
You have the following databases: information_schema, my_db_name, test, test_my_db_name
Please enter the name of the database (eg. projectdb): my_db_name
Please enter your project name (used internally, eg. my_db_name) [my_db_name]:
Wrote stellar.yaml

Warning: MySQL support is still in beta.
Tip: You probably want to take a snapshot: stellar snapshot
(my-project)
brento@my-host ~/Sites/my-project-django (responses!)
(my-project-django) ❯ stellar snapshot
Traceback (most recent call last):
  File "/Users/brento/.virtualenvs/my-project/bin/stellar", line 9, in <module>
    load_entry_point('stellar==0.3.1', 'console_scripts', 'stellar')()
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/stellar/command.py", line 225, in main
    stellar()
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/click/core.py", line 572, in __call__
    return self.main(*args, **kwargs)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/click/core.py", line 552, in main
    rv = self.invoke(ctx)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/click/core.py", line 893, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/click/core.py", line 744, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/click/core.py", line 388, in invoke
    return callback(*args, **kwargs)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/stellar/command.py", line 42, in snapshot
    app = Stellar()
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/stellar/app.py", line 43, in __init__
    self.init_database()
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/stellar/app.py", line 61, in init_database
    tables_missing = self.create_stellar_database()
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/stellar/app.py", line 70, in create_stellar_database
    self.operations.create_database('stellar_data')
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/stellar/operations.py", line 31, in create_database
    '%s%s' % (raw_conn.engine.url, database)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/sqlalchemy_utils/functions/database.py", line 215, in create_database
    engine.execute(text)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1752, in execute
    return connection.execute(statement, *multiparams, **params)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 721, in execute
    return self._execute_text(object, multiparams, params)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 870, in _execute_text
    statement, parameters
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
    context)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1160, in _handle_dbapi_exception
    exc_info
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
    context)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
    cursor.execute(statement, parameters)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/pymysql/cursors.py", line 132, in execute
    result = self._query(query)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/pymysql/cursors.py", line 271, in _query
    conn.query(q)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/pymysql/connections.py", line 726, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/pymysql/connections.py", line 861, in _read_query_result
    result.read()
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/pymysql/connections.py", line 1064, in read
    first_packet = self.connection._read_packet()
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/pymysql/connections.py", line 826, in _read_packet
    packet.check_error()
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/pymysql/connections.py", line 370, in check_error
    raise_mysql_exception(self._data)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/pymysql/err.py", line 116, in raise_mysql_exception
    _check_mysql_exception(errinfo)
  File "/Users/brento/.virtualenvs/my-project/lib/python2.7/site-packages/pymysql/err.py", line 109, in _check_mysql_exception
    raise errorclass(errno,errorvalue)
sqlalchemy.exc.OperationalError: (OperationalError) (1044, u"Access denied for user 'my_db_username'@'localhost' to database 'stellar_data'") "CREATE DATABASE stellar_data CHARACTER SET = 'utf8'" ()

There is 1 other session using the database error

I'm getting this error when trying to snapshot a postgres database

/usr/local/lib/python2.7/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.
  """)

Traceback (most recent call last):
  File "/usr/local/bin/stellar", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/stellar/command.py", line 279, in main
    stellar()
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/stellar/command.py", line 60, in snapshot
    app = get_app()
  File "/usr/local/lib/python2.7/site-packages/stellar/command.py", line 28, in get_app
    app = Stellar()
  File "/usr/local/lib/python2.7/site-packages/stellar/app.py", line 45, in __init__
    self.init_database()
  File "/usr/local/lib/python2.7/site-packages/stellar/app.py", line 64, in init_database
    tables_missing = self.create_stellar_database()
  File "/usr/local/lib/python2.7/site-packages/stellar/app.py", line 72, in create_stellar_database
    self.operations.create_database('stellar_data')
  File "/usr/local/lib/python2.7/site-packages/stellar/operations.py", line 57, in create_database
    get_engine_url(raw_conn, database)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy_utils/functions/database.py", line 554, in create_database
    result_proxy = engine.execute(text)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 2075, in execute
    return connection.execute(statement, *multiparams, **params)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 942, in execute
    return self._execute_text(object, multiparams, params)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1104, in _execute_text
    statement, parameters
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 507, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) source database "template1" is being accessed by other users

DETAIL:  There is 1 other session using the database.
 [SQL: "CREATE DATABASE stellar_data ENCODING 'utf8' TEMPLATE template1"] (Background on this error at: http://sqlalche.me/e/e3q8)

The source database is not being used when doing the backup.

I'm running Mac OS 10.13.4, probably with the default python version (2.7.14)

Trying to restore a snapshot causes an "database already exists" error

I am getting an "database already exists" error when I try to restore a snapshot

I am using PostgreSQL 9.5.3

Restoring database admin_panel
WARNING:stellar.app:Database admin_panel does not exist.
Traceback (most recent call last):
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
    cursor.execute(statement, parameters)
psycopg2.ProgrammingError: database "admin_panel" already exists


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/cesar/venv/bin/stellar", line 9, in <module>
    load_entry_point('stellar==0.4.3', 'console_scripts', 'stellar')()
  File "/home/cesar/venv/lib/python3.4/site-packages/stellar/command.py", line 279, in main
    stellar()
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/cesar/venv/lib/python3.4/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/home/cesar/venv/lib/python3.4/site-packages/stellar/command.py", line 128, in restore
    app.restore(snapshot)
  File "/home/cesar/venv/lib/python3.4/site-packages/stellar/app.py", line 166, in restore
    table.table_name
  File "/home/cesar/venv/lib/python3.4/site-packages/stellar/operations.py", line 125, in rename_database
    to_database
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 906, in execute
    return self._execute_text(object, multiparams, params)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1054, in _execute_text
    statement, parameters
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
    context)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1341, in _handle_dbapi_exception
    exc_info
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/util/compat.py", line 202, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/util/compat.py", line 185, in reraise
    raise value.with_traceback(tb)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/home/cesar/venv/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) database "admin_panel" already exists
 [SQL: '\n                ALTER DATABASE "stellar_73c795eb6b0f74db" RENAME TO "admin_panel"\n

Warnings when snapshotting (MySQL)

After running the snapshop command I am able to see it from the 'snapsho list' command. However during the creation of the snapshop, i'm seeing these notices. Not sure if it's something worry about. Any ideas to what these warning messages mean and if I should worry about it?

Snapshotting database xxx
/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py:436: Warning: Table storage engine for 'Account' doesn't have this option

Fails to connect to psql

Feel bad to ask this question, but I am having trouble of connecting to psql, here are the steps:

  • pip install stellar
  • stellar init
(env)➜  shell  stellar init
Please enter the url for your database.

For example:
PostreSQL: postgresql://localhost:5432/
MySQL: mysql+pymysql://root@localhost/: postgresql://localhost:5432/api
FATAL:  database "api/" does not exist
Could not connect to database: postgresql://localhost:5432/api/
Make sure database process is running and try again.

Please enter the url for your database.

On the other hand, I can manually connect to this api.

➜  api git:(mapping) psql --host localhost --port 5432 -d api
Null display is "[NULL]".
Expanded display is used automatically.
Timing is on.
psql (9.3.5)
Type "help" for help.

Did I miss anything?

stellar init mysql "no module named MySQLDb"

uptown@ubuntu ~/domains/processing[uploads_transfer*]$ stellar init
Please enter the url for your database.

For example:
PostreSQL: postgresql://localhost:5432/
MySQL: mysql+pymysql://root@localhost/: 
Please enter the url for your database.

For example:
PostreSQL: postgresql://localhost:5432/
MySQL: mysql+pymysql://root@localhost/: mysql://root@localhost
Traceback (most recent call last):
  File "/usr/local/bin/stellar", line 9, in <module>
    load_entry_point('stellar==0.3.1', 'console_scripts', 'stellar')()
  File "/usr/local/lib/python2.7/dist-packages/stellar/command.py", line 225, in main
    stellar()
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 572, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 552, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 893, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 744, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 388, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/stellar/command.py", line 163, in init
    engine = create_engine(url, echo=False)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/__init__.py", line 346, in create_engine
    return strategy.create(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 74, in create
    dbapi = dialect_cls.dbapi(**dbapi_args)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/connectors/mysqldb.py", line 64, in dbapi
    return __import__('MySQLdb')
ImportError: No module named MySQLdb

Snapshot fails on database with views

traceback (most recent call last):
  File "/usr/local/bin/stellar", line 8, in <module>
    load_entry_point('stellar==0.3.2', 'console_scripts', 'stellar')()
  File "/Library/Python/2.7/site-packages/stellar/command.py", line 225, in main
    stellar()
  File "/Library/Python/2.7/site-packages/click/core.py", line 609, in __call__
    return self.main(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/click/core.py", line 589, in main
    rv = self.invoke(ctx)
  File "/Library/Python/2.7/site-packages/click/core.py", line 935, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Library/Python/2.7/site-packages/click/core.py", line 781, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Library/Python/2.7/site-packages/click/core.py", line 416, in invoke
    return callback(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/stellar/command.py", line 51, in snapshot
    app.create_snapshot(name, before_copy=before_copy)
  File "/Library/Python/2.7/site-packages/stellar/app.py", line 114, in create_snapshot
    table.get_table_name('master')
  File "/Library/Python/2.7/site-packages/stellar/operations.py", line 58, in copy_database
    row[0]
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 721, in execute
    return self._execute_text(object, multiparams, params)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 870, in _execute_text
    statement, parameters
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
    context)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 1160, in _handle_dbapi_exception
    exc_info
  File "/Library/Python/2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
    context)
  File "/Library/Python/2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
    cursor.execute(statement, parameters)
  File "/Library/Python/2.7/site-packages/pymysql/cursors.py", line 132, in execute
    result = self._query(query)
  File "/Library/Python/2.7/site-packages/pymysql/cursors.py", line 271, in _query
    conn.query(q)
  File "/Library/Python/2.7/site-packages/pymysql/connections.py", line 726, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/Library/Python/2.7/site-packages/pymysql/connections.py", line 861, in _read_query_result
    result.read()
  File "/Library/Python/2.7/site-packages/pymysql/connections.py", line 1064, in read
    first_packet = self.connection._read_packet()
  File "/Library/Python/2.7/site-packages/pymysql/connections.py", line 826, in _read_packet
    packet.check_error()
  File "/Library/Python/2.7/site-packages/pymysql/connections.py", line 370, in check_error
    raise_mysql_exception(self._data)
  File "/Library/Python/2.7/site-packages/pymysql/err.py", line 116, in raise_mysql_exception
    _check_mysql_exception(errinfo)
  File "/Library/Python/2.7/site-packages/pymysql/err.py", line 112, in _check_mysql_exception
    raise InternalError(errno, errorvalue)
sqlalchemy.exc.InternalError: (InternalError) (1347, u"'database.viewname' is not BASE TABLE")
'\nCREATE TABLE stellar_database_1e29f56dd029c6b5e8b2eafbb99a6d07_master.viewname LIKE database.viewname\n' ()

"database already exists" when restoring

When trying to restore the database, I get the following error:

sqlalchemy.exc.ProgrammingError: (ProgrammingError) database "d-demo" already exists
 '\n                ALTER DATABASE "stellar_d-demo_f9182c358a0a063cc6d6ec785140ec94_slave"  RENAME TO "d-demo"\n            ' {}

What am I missing? When I remove the database using pgAdmin before restoring, all is fine.

"pip install psycopg2" doesn't solve "Python library psycopg2 is required for PostreSQL support."

I installed psycopg2 after being prompted to by stellar, but stellar init keeps failing even after installing psycopg2. I'm on a Mac and python was installed through Anaconda.

Command Line

$ stellar init
Please enter the url for your database.

For example:
PostgreSQL: postgresql://localhost:5432/
MySQL: mysql+pymysql://root@localhost/: postgresql://localhost:5432/
Python library psycopg2 is required for PostreSQL support.
You can install it with pip:
pip install psycopg2

$ pip install psycopg2
Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /Users/leonelgalan/anaconda/lib/python2.7/site-packages

$ which pip
/Users/leonelgalan/anaconda/bin/pip

$ which python
/Users/leonelgalan/anaconda/bin/python

$ stellar init
Please enter the url for your database.

For example:
PostgreSQL: postgresql://localhost:5432/
MySQL: mysql+pymysql://root@localhost/: postgresql://localhost:5432/
Python library psycopg2 is required for PostreSQL support.
You can install it with pip:
pip install psycopg2

including the database url segment, when prompted for "the url for your database", fails

After running stellar init, you need to enter the url for the server (like dialect+driver://username:password@host:port), rather than the url for your database (like dialect+driver://username:password@host:port/database_name). It would make more sense to just prompt for the database url, and get rid of the "Please enter the name of the database" prompt that comes after.

...or if that's not possible, then just reword the first prompt to say "the url for your server"

Unicode-objects must be encoded before hashing

Tested on both an empty and new django database

$ stellar snapshot
Traceback (most recent call last):
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 889, in _execute_context
    context = constructor(dialect, self, conn, *args)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 560, in _init_compiled
    self.__process_defaults()
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 942, in __process_defaults
    val = self.get_insert_default(c)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/dialects/postgresql/base.py", line 1632, in get_insert_default
    return super(PGExecutionContext, self).get_insert_default(column)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 896, in get_insert_default
    return self._exec_default(column.default, column.type)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 882, in _exec_default
    return default.arg(self)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/sql/schema.py", line 1926, in <lambda>
    return lambda ctx: fn()
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/stellar/models.py", line 12, in get_unique_hash
    return hashlib.md5(str(uuid.uuid4())).hexdigest()
TypeError: Unicode-objects must be encoded before hashing

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/antony/.pyenv/versions/et/bin/stellar", line 9, in <module>
    load_entry_point('stellar==0.4.1', 'console_scripts', 'stellar')()
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/stellar/command.py", line 264, in main
    stellar()
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/click/core.py", line 610, in __call__
    return self.main(*args, **kwargs)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/click/core.py", line 590, in main
    rv = self.invoke(ctx)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/click/core.py", line 936, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/click/core.py", line 782, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/click/core.py", line 416, in invoke
    return callback(*args, **kwargs)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/stellar/command.py", line 70, in snapshot
    app.create_snapshot(name, before_copy=before_copy)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/stellar/app.py", line 105, in create_snapshot
    self.db.session.flush()
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/orm/session.py", line 1919, in flush
    self._flush(objects)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/orm/session.py", line 2037, in _flush
    transaction.rollback(_capture_exception=True)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/util/compat.py", line 182, in reraise
    raise value
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/orm/session.py", line 2001, in _flush
    flush_context.execute()
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/orm/unitofwork.py", line 372, in execute
    rec.execute(self)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/orm/unitofwork.py", line 526, in execute
    uow
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/orm/persistence.py", line 65, in save_obj
    mapper, table, insert)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/orm/persistence.py", line 602, in _emit_insert_statements
    execute(statement, params)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 729, in execute
    return meth(self, multiparams, params)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/sql/elements.py", line 322, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 893, in _execute_context
    None, None)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 1159, in _handle_dbapi_exception
    exc_info
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/util/compat.py", line 188, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=exc_value)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/util/compat.py", line 181, in reraise
    raise value.with_traceback(tb)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/base.py", line 889, in _execute_context
    context = constructor(dialect, self, conn, *args)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 560, in _init_compiled
    self.__process_defaults()
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 942, in __process_defaults
    val = self.get_insert_default(c)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/dialects/postgresql/base.py", line 1632, in get_insert_default
    return super(PGExecutionContext, self).get_insert_default(column)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 896, in get_insert_default
    return self._exec_default(column.default, column.type)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/engine/default.py", line 882, in _exec_default
    return default.arg(self)
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/sqlalchemy/sql/schema.py", line 1926, in <lambda>
    return lambda ctx: fn()
  File "/home/antony/.pyenv/versions/et/lib/python3.4/site-packages/stellar/models.py", line 12, in get_unique_hash
    return hashlib.md5(str(uuid.uuid4())).hexdigest()
sqlalchemy.exc.StatementError: Unicode-objects must be encoded before hashing (original cause: TypeError: Unicode-objects must be encoded before hashing) "INSERT INTO snapshot (id, snapshot_name, project_name, hash, created_at, worker_p$1

mysql restore losing original default collation

mysql has many default charsets and collations. at server level, at database level, at table level and at column level.

And all those defaults are used as fallback topdown.

While it seems that both table and column varchar and collation are preserved ok by stellar snapshot & restore... the database defaults are not, and that leads to the restored database having a (fallback) default inherited from server level, instead of the defaults it may have explicitly defined.

And that has consequences about every table and column that are later created in the restored database. Instead of using the original database charset and collation, everything is created with the "new" defaults (inherited from server).

So stellar needs to store the database default charset and collations (if defined) in order to proceed, on restore, to the creation of a database with exactly the same default charset and collation.

Workaround: Make your default server charset and collation to match the default expected in restored databases, but that's not flexible enough.

Ciao :-)

Problems installing (psutil compiling, click)

Can you help me out?

------------------------------------------------------------
/usr/local/bin/pip run on Fri Aug 22 17:11:36 2014
Requirement already satisfied (use --upgrade to upgrade): stellar in /Library/Python/2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): PyYAML in /Library/Python/2.7/site-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy in /Library/Python/2.7/site-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): humanize in /Library/Python/2.7/site-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): pytest in /Library/Python/2.7/site-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): schema in /Library/Python/2.7/site-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): click in /Library/Python/2.7/site-packages (from stellar)
Requirement already satisfied (use --upgrade to upgrade): SQLAlchemy-Utils in /Library/Python/2.7/site-packages (from stellar)
  skipping extra color
  skipping extra phone
  skipping extra intervals
  skipping extra timezone
  skipping extra password
  skipping extra ipaddress
  skipping extra url
  skipping extra babel
  skipping extra arrow
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra test
  skipping extra anyjson
Downloading/unpacking psutil (from stellar)
  Getting page https://pypi.python.org/simple/psutil/
  URLs to search for versions for psutil (from stellar):
  * https://pypi.python.org/simple/psutil/
  Analyzing links from page https://pypi.python.org/simple/psutil/
    Skipping link https://pypi.python.org/packages/2.4/p/psutil/psutil-1.1.0.win32-py2.4.exe#md5=1507a76ba81a068acd3ffc0ed4ca2c4c (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.4/p/psutil/psutil-1.1.1.win32-py2.4.exe#md5=19a2fce4b62f777328d23b2e40a3388e (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.4/p/psutil/psutil-1.1.2.win32-py2.4.exe#md5=6a7860c16ada71363a9a109be27ec19a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.4/p/psutil/psutil-1.1.3.win32-py2.4.exe#md5=de7bf37f71b5fc9876dbd505bfe26426 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.4/p/psutil/psutil-1.2.0.win32-py2.4.exe#md5=9e4ed2aa084710da66f3cce1ae80e830 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.4/p/psutil/psutil-1.2.1.win32-py2.4.exe#md5=a1abd2e5204cae138c3d92147d5f391f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.4/p/psutil/psutil-2.0.0.win32-py2.4.exe#md5=70d3cded7bac87016134983069fb3d5f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.4/p/psutil/psutil-2.1.0.win32-py2.4.exe#md5=291cef0d600812f123e77442a9677d81 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.4/p/psutil/psutil-2.1.1.win32-py2.4.exe#md5=cdcebad362d6ef3d629ad65c8a0542b5 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.2.0.win32-py2.5.exe#md5=c44cdfb881fe9f7c77e5d88c96787a1d (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.2.1.win32-py2.5.exe#md5=7f46ae105df697e15a7d12927262e68b (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.3.0.win32-py2.5.exe#md5=2ab646bb6401fafc4a11b49d7a7bd504 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.4.0.win32-py2.5.exe#md5=39f78f16a14672531230f620253ea46f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.4.1.win32-py2.5.exe#md5=50dd9d5c2321302969e9b18b8a548c77 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.5.0.win32-py2.5.exe#md5=b1927bfa0a8f3a4d4b8d2b822122facd (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.5.1.win32-py2.5.exe#md5=e0d8e648f058a11a718f78dade4c91ef (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.6.0.win32-py2.5.exe#md5=df867c67182691bec5dd1188971ae8c7 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.6.1.win32-py2.5.exe#md5=d38b1d74e5598cc7c5dacbb4655f3672 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.7.0.win32-py2.5.exe#md5=267c07ccb83cbc8a3f228647943fc1b5 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-0.7.1.win32-py2.5.exe#md5=84903b63e9d24eeceeeb346ee5960b58 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-1.0.0.win32-py2.5.exe#md5=126880ad97179e02ff95edea3d17f224 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-1.0.1.win32-py2.5.exe#md5=aac9f8b378cca2616cee6c3cd8f04a30 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-1.1.0.win32-py2.5.exe#md5=dbfbe0a27234281add0ba0a7bda988c0 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-1.1.1.win32-py2.5.exe#md5=62615f05d6df2ffc4cf5a34249b18f70 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-1.1.2.win32-py2.5.exe#md5=cdd8d0bcad9d7446785c50da10a18b27 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-1.1.3.win32-py2.5.exe#md5=37ee51da2a4847525879a4b8501d1762 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-1.2.0.win32-py2.5.exe#md5=7cfbcae9514fa7598f2672a344205835 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-1.2.1.win32-py2.5.exe#md5=6408652cd4b72ba34500823ba5133ee9 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-2.0.0.win32-py2.5.exe#md5=503e5ff8a6bbfeb8787b84f2ad39d831 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-2.1.0.win32-py2.5.exe#md5=cecdc9f6eb194b11a99eaf447e1ad180 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.5/p/psutil/psutil-2.1.1.win32-py2.5.exe#md5=8550a607cf6cd29608f75223790a4e7a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.2.0.win32-py2.6.exe#md5=c634c136b7af6f5623fe6469c7939f50 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.2.1.win32-py2.6.exe#md5=58756c17a2f27992654f42f69c3a5729 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.3.0.win32-py2.6.exe#md5=c69bb8d43482bf762f9069c6c1d33023 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.4.0.win32-py2.6.exe#md5=dd0566cc89c6723c23ad2e01b81c19ef (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.4.1.win32-py2.6.exe#md5=60620bc9c5b12d50851d9fd9378757a9 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.5.0.win32-py2.6.exe#md5=9510c61f0f453abf5100a4cc827917da (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.5.1.win32-py2.6.exe#md5=9c6d9f45293723da226ba0294cf0584d (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.6.0.win32-py2.6.exe#md5=89475191bb2cc274d78ddfa185b657e5 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.6.1.win32-py2.6.exe#md5=446412ad5f02a6844b0179604e9bb8cf (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.7.0.win32-py2.6.exe#md5=df4ee121ed093212d40a4413df71d68b (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-0.7.1.win32-py2.6.exe#md5=9790451d3261995e2e40d27dc445defa (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-1.0.0.win32-py2.6.exe#md5=7024e5ffe30cb876ae1a5bbcc776b189 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-1.0.1.win32-py2.6.exe#md5=980ae0b21adec471355be929060aa718 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-1.1.0.win32-py2.6.exe#md5=ec669bc37dd0cde68221c78da2e3f76a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-1.1.1.win32-py2.6.exe#md5=862cfd5d74fe004935e6fed23371e891 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-1.1.2.win32-py2.6.exe#md5=00ba55472837ee48c8977351fae4daee (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-1.1.3.win32-py2.6.exe#md5=c265fab797f5e4011e2d7f24704cdecb (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-1.2.0.win32-py2.6.exe#md5=49fa4501b0aad2fff6eb6f5600ff06c3 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-1.2.1.win32-py2.6.exe#md5=7d3d9c8bc147b87c04e93dd0ff1bd502 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-2.0.0.win32-py2.6.exe#md5=b925585a77dbf07eaf9b1d8575ff82ae (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-2.1.0.win32-py2.6.exe#md5=60bc3108078da09323f3f8bf2e07ea30 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/p/psutil/psutil-2.1.1.win32-py2.6.exe#md5=4be430905dd5b146ff5d9d255dcb7eab (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.2.0.win-amd64-py2.7.exe#md5=d1d8f2c1bf039d5ffc935105949bcdee (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.2.0.win32-py2.7.exe#md5=c7632667971fb9046705e2c2b669f349 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.2.1.win-amd64-py2.7.exe#md5=30e791fbdc5efd91df2fae8d038e21a9 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.2.1.win32-py2.7.exe#md5=653dcca878242058ce227dbe51230274 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.3.0.win-amd64-py2.7.exe#md5=e81309e9c7b074f5d937715e4998bedb (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.3.0.win32-py2.7.exe#md5=f30aa3f26d28a22d165802427dc2b820 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.4.0.win-amd64-py2.7.exe#md5=8702738009d71042084ae4f66fdf98f7 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.4.0.win32-py2.7.exe#md5=cf3a8688c55d926b4b6c662734b57593 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.4.1.win-amd64-py2.7.exe#md5=0df0344ad53d7e51220d5fde912ce01a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.4.1.win32-py2.7.exe#md5=aae9ad6b466d3085bab177d3f3859cab (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.5.0.win-amd64-py2.7.exe#md5=a9de46fdc3dec71454efba4eaea10581 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.5.0.win32-py2.7.exe#md5=d30b2b5e6b0440c278d0493b464f91d3 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.5.1.win-amd64-py2.7.exe#md5=3f53ad143ccaaa269fea08f25d4e5f37 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.5.1.win32-py2.7.exe#md5=82adfe9bbc6fa96418448049ce52e0ee (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.6.0.win-amd64-py2.7.exe#md5=5fdca82a210e6ee90ec9934e27c1e81f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.6.0.win32-py2.7.exe#md5=db77f71f203b324eb3fa8d4c4634df23 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.6.1.win-amd64-py2.7.exe#md5=ea6760e5793f2b57cbbce5723cc383b6 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.6.1.win32-py2.7.exe#md5=0f3eefe86605b13802c84399d4455e08 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.7.0.win-amd64-py2.7.exe#md5=59c9cd1344ca47e91a3960ae2b2f3985 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.7.0.win32-py2.7.exe#md5=bfc794e0d5a0099ed378af5ad38adde6 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.7.1.win-amd64-py2.7.exe#md5=c6fbb61fc7d84bfe1ea5887b541e2486 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-0.7.1.win32-py2.7.exe#md5=0820915cb8ccd0cb134a97ed7b84a09f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.0.0.win-amd64-py2.7.exe#md5=3d366d6ce5e2d2f997b91c049aba4865 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.0.0.win32-py2.7.exe#md5=a96dea346d481c971c4ea191bf7c1348 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.0.1.win-amd64-py2.7.exe#md5=f407a0a469633031d6a7d09831ff739b (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.0.1.win32-py2.7.exe#md5=5970113113598846ac3d1911450130ed (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.1.0.win-amd64-py2.7.exe#md5=3e03bcb72a5c40a1843f8e40f6c4c599 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.1.1.win-amd64-py2.7.exe#md5=9d5e49b2c8bbe9ea898c1526d97fd977 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.1.1.win32-py2.7.exe#md5=9472fd0200d75aabd6474c3c52695f74 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.1.2.win-amd64-py2.7.exe#md5=88506db2f400fcbbb95161a2b86e0df0 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.1.2.win32-py2.7.exe#md5=dbb5cf9becd52e6a1912668c5a527795 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.1.3.win-amd64-py2.7.exe#md5=768b58d9817265ee070afd756c24e2e3 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.1.3.win32-py2.7.exe#md5=98d2fb34eed500d2eb52ed09c87234ba (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.2.0.win-amd64-py2.7.exe#md5=b2abcb587cc351eb6dbc23eed4304cc4 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.2.0.win32-py2.7.exe#md5=8e2899592e03cb5564b81062e21a706a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.2.1.win-amd64-py2.7.exe#md5=7aec92fca9705348d1c8510a56db841a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-1.2.1.win32-py2.7.exe#md5=c4264532a64414cf3aa0d8b17d17e015 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-2.0.0.win-amd64-py2.7.exe#md5=906f8c77c3d41fc62fdc51e61c2438b8 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-2.0.0.win32-py2.7.exe#md5=206f19a41fbf08de0f1eaac5220cb85a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-2.1.0.win-amd64-py2.7.exe#md5=db0ee08adb7f00386ee419dcf414d451 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-2.1.0.win32-py2.7.exe#md5=cfe1b146fc38176e4e63290fa15029a1 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-2.1.1.win-amd64-py2.7.exe#md5=45301b26a0d3749a6e9997db225f7750 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/p/psutil/psutil-2.1.1.win32-py2.7.exe#md5=5d51ac4843a4cc8407d0be0e2d3d0eac (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/psutil/psutil-1.1.0.win-amd64-py3.2.exe#md5=a4f7b7462ee820432281b83f5c97aed0 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/psutil/psutil-1.1.0.win32-py3.2.exe#md5=61aa580eb72167acc409030c6f14f93f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/psutil/psutil-1.1.1.win-amd64-py3.2.exe#md5=be300ae2ee30e44b08762f79df8452d3 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/psutil/psutil-1.1.1.win32-py3.2.exe#md5=df43ff58f0089d1542ffba7ca1e1d536 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/psutil/psutil-1.1.2.win-amd64-py3.2.exe#md5=2483f1d099933b7bf1b09ab499b290ea (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/psutil/psutil-1.1.2.win32-py3.2.exe#md5=02d9841f2f3adf67ba725ac08c6442d2 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/psutil/psutil-1.1.3.win32-py3.2.exe#md5=bd036542460795e364324884159c21b8 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/psutil/psutil-1.2.0.win32-py3.2.exe#md5=5c75c39f381567c5a7d94f3e549b749d (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/p/psutil/psutil-1.2.1.win32-py3.2.exe#md5=026a1043f461c9fa7f1fc4e82b754ba3 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.2.0.win-amd64-py3.3.exe#md5=29ef6e23c55922d1ba84cae85cacb425 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.2.0.win32-py3.3.exe#md5=97161829ba80a6dea091ea5d87c924b8 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.2.1.win-amd64-py3.3.exe#md5=f5f5fe00926974f22b4f0ebe45a27546 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.2.1.win32-py3.3.exe#md5=ebbf3c33ffa5c84c19c5b3c2f0009ccf (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.3.0.win-amd64-py3.3.exe#md5=37d546e20dd674e73aacbdbdb1ae287f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.3.0.win32-py3.3.exe#md5=7c2b60b4c3a091ef741b05dcff6b29d2 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.4.0.win-amd64-py3.3.exe#md5=b8f0766413d6d890a07ed5e2db72b766 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.4.0.win32-py3.3.exe#md5=e1ca0a84590762cfb1717f692def6778 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.4.1.win-amd64-py3.3.exe#md5=051a3efea2e761d71412c60ba3f23478 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.4.1.win32-py3.3.exe#md5=3eaba85011bd25e7778b5941220d4398 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.5.0.win-amd64-py3.3.exe#md5=3c35006a4c7eb55462708973ac434258 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.5.0.win32-py3.3.exe#md5=22501361d9c358f40ce6652c08c79dff (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.5.1.win-amd64-py3.3.exe#md5=e864395f4fb13070746255303828c645 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.5.1.win32-py3.3.exe#md5=a1e47eb84ed1e5797e4e1a28b2404c7a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.6.0.win-amd64-py3.3.exe#md5=1257a2e3387d74f5108648db2786ce81 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.6.0.win32-py3.3.exe#md5=7518fff5e2f41470f2ede9a40a77bd9a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.6.1.win-amd64-py3.3.exe#md5=00560371e14cf186989faffcd48d8fc4 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.6.1.win32-py3.3.exe#md5=1b074138f728c831c4cbb988b8131017 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.7.0.win-amd64-py3.3.exe#md5=33a593ee23002af589cca61bbdadc8ad (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.7.0.win32-py3.3.exe#md5=a29dabb5c58eb23461020ad36db88b36 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.7.1.win-amd64-py3.3.exe#md5=65973fcd86d22e63ffb34b34642770d4 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-0.7.1.win32-py3.3.exe#md5=b807a4b947d5559ebe6cae4ae6fc1e8a (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.0.0.win-amd64-py3.3.exe#md5=537d6174661d82af7912c0f1a5245a8f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.0.0.win32-py3.3.exe#md5=0adc4d10d63247edc780ecae82abbc40 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.0.1.win-amd64-py3.3.exe#md5=dc732ca3af2fe96d8cace2e5e167240f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.0.1.win32-py3.3.exe#md5=fdab69193ac699298ca6be13c3d02415 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.1.0.win32-py3.3.exe#md5=307645ba76f48c1c18a312e1bdf3c1a4 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.1.1.win32-py3.3.exe#md5=c2ca56d442b556b38c0da9c81bc1f261 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.1.2.win32-py3.3.exe#md5=f440f47ab680c05bdfd7ee7e7a9f3c77 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.1.3.win32-py3.3.exe#md5=6e776b4847c252dcbedb3f790cc85b2f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.2.0.win32-py3.3.exe#md5=ccee2703e25a62085503f4890fece502 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.2.1.win-amd64-py3.3.exe#md5=dc3a93b0fa84c786fac8c36bebd6b3e3 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-1.2.1.win32-py3.3.exe#md5=38f2a4d625b84ede6fd16606ab1af73b (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-2.0.0.win-amd64-py3.3.exe#md5=ecdca3c4f198d60650972c2a63bfcabc (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-2.0.0.win32-py3.3.exe#md5=afba489d53f3171727632623e747f41f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-2.1.0.win-amd64-py3.3.exe#md5=d6304ffd3a11fd68502a7d2e1890dabe (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-2.1.0.win32-py3.3.exe#md5=fd8142e7395697feef6062f73dbaad4f (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-2.1.1.win-amd64-py3.3.exe#md5=cc5e2d00300c31f90be903a28edd8c00 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/p/psutil/psutil-2.1.1.win32-py3.3.exe#md5=bac08428386f60231dcba92cdd9860f2 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.2.0.win-amd64-py3.4.exe#md5=a0f9e136f84e64c77a0f31ad57b1d0f7 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.2.0.win32-py3.4.exe#md5=3bdceba7227cb93804d5436397043924 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.2.1.win-amd64-py3.4.exe#md5=2eff5b39001451dc4860754cbb2eb747 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.2.1.win32-py3.4.exe#md5=e2ae3b366854863d01e58af1f57f336d (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.3.0.win-amd64-py3.4.exe#md5=e77b30e5fc2623ce27d4aaa631b60600 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.3.0.win32-py3.4.exe#md5=4c5448e41b112fff3283eecfb117d506 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.4.0.win-amd64-py3.4.exe#md5=2d1507aeea5b3a7c38591cc6e87c3f12 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.4.0.win32-py3.4.exe#md5=9baaa984711eb3220e7718c93b22fa9b (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.4.1.win-amd64-py3.4.exe#md5=74af92b38ed47ca8e553e97cac5ef762 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.4.1.win32-py3.4.exe#md5=643191172a0aa4a6fd65aef7280c6a3b (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.5.0.win-amd64-py3.4.exe#md5=426b127b0f890bd135d22f8ed077710c (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.5.0.win32-py3.4.exe#md5=730549f500236c0590c61410701c6550 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.5.1.win-amd64-py3.4.exe#md5=e2699494bcde548df1aa91f14d691e30 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.5.1.win32-py3.4.exe#md5=02dde78aaca51e0bf002edf1ad36a05c (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.6.0.win-amd64-py3.4.exe#md5=4c342e5ddae083118fda71addb5d5569 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.6.0.win32-py3.4.exe#md5=edcbf842ff84ff522c4ea6be3a2aeea9 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.6.1.win-amd64-py3.4.exe#md5=4314014183950f0ba2dbcf33face67d9 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.6.1.win32-py3.4.exe#md5=4383f6b23b44d0225ec11cce974a240d (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.7.0.win-amd64-py3.4.exe#md5=4a1510007f663f453204ca89211db73e (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.7.0.win32-py3.4.exe#md5=f370a9408b076fcb4df3072db5e2cf62 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.7.1.win-amd64-py3.4.exe#md5=30d5732baa5e274d720b6f03f67880fd (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-0.7.1.win32-py3.4.exe#md5=6534dc3b224dffcb560368c878217d64 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-1.0.0.win-amd64-py3.4.exe#md5=3cd7194ee73326a619990dbc3cc78025 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-1.0.0.win32-py3.4.exe#md5=b7c0711ac32a46df0eb197b132b16442 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-1.0.1.win-amd64-py3.4.exe#md5=2f52242c60c91a945cd472a023265e69 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-1.0.1.win32-py3.4.exe#md5=96a3911cf3e5041d5ccea14db56de426 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-2.0.0.win-amd64-py3.4.exe#md5=403c5ffeecabb70b5c07eaf9ba2d59aa (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-2.0.0.win32-py3.4.exe#md5=cdbdda0e4cd4ce8912443e1c2ce32a8c (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-2.1.0.win-amd64-py3.4.exe#md5=905b52bf884192e89b27486df8d779aa (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-2.1.0.win32-py3.4.exe#md5=dbfc8d55b07aa6d6d242d0dc94279856 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-2.1.1.win-amd64-py3.4.exe#md5=2b4dd5f4eda947eadba2c8dda036c116 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/p/psutil/psutil-2.1.1.win32-py3.4.exe#md5=e9fe00a8fa665b5faaefbef280a2b2b1 (from https://pypi.python.org/simple/psutil/); unknown archive format: .exe
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.1.1.tar.gz#md5=5dee4945b2ce2cad662ffa7b6b88b704 (from https://pypi.python.org/simple/psutil/), version: 0.1.1
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.1.2.tar.gz#md5=ca0d9b31c2113790223245b10c545d85 (from https://pypi.python.org/simple/psutil/), version: 0.1.2
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.1.3.tar.gz#md5=0be98ecd846854e00f8e55147a7ea040 (from https://pypi.python.org/simple/psutil/), version: 0.1.3
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.2.0.tar.gz#md5=9a3d226673b7d545a0b8f2ea05391b0f (from https://pypi.python.org/simple/psutil/), version: 0.2.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.2.1.tar.gz#md5=7b37fdc61aba1fba38dfff01cb4b98cc (from https://pypi.python.org/simple/psutil/), version: 0.2.1
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.3.0.tar.gz#md5=8223aace5a56aa4c631897bd50f99145 (from https://pypi.python.org/simple/psutil/), version: 0.3.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.4.0.tar.gz#md5=4465196d7a6d0fc4295776ee3e7b43ec (from https://pypi.python.org/simple/psutil/), version: 0.4.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.4.1.tar.gz#md5=5e29907cec9d341237ca271c569bf492 (from https://pypi.python.org/simple/psutil/), version: 0.4.1
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.5.0.tar.gz#md5=45223628585f300c1f0a4a3aa3c67ba5 (from https://pypi.python.org/simple/psutil/), version: 0.5.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.5.1.tar.gz#md5=228cc2ca0c870ca61bca6a1bff36615e (from https://pypi.python.org/simple/psutil/), version: 0.5.1
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.6.0.tar.gz#md5=02c8ce33b4f44eb3f4bb9dd4800fe9c3 (from https://pypi.python.org/simple/psutil/), version: 0.6.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.6.1.tar.gz#md5=93c1420cb3dac091325a80c9c5ed9623 (from https://pypi.python.org/simple/psutil/), version: 0.6.1
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.7.0.tar.gz#md5=87e89b4d41742a67149bc3be15663bc6 (from https://pypi.python.org/simple/psutil/), version: 0.7.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-0.7.1.tar.gz#md5=68eaa0aadf43e20e8b82e844332d8172 (from https://pypi.python.org/simple/psutil/), version: 0.7.1
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-1.0.0.tar.gz#md5=d68e3a779f5b9b5a779d76a9c5cd5244 (from https://pypi.python.org/simple/psutil/), version: 1.0.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-1.0.1.tar.gz#md5=823455a93ff85f284cef0716d1c7a8ce (from https://pypi.python.org/simple/psutil/), version: 1.0.1
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-1.1.0.tar.gz#md5=ab7c4172aabd42ea3b9f80224222dce5 (from https://pypi.python.org/simple/psutil/), version: 1.1.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-1.1.1.tar.gz#md5=24430ee6486be2f1a960d9ce4dc87ad0 (from https://pypi.python.org/simple/psutil/), version: 1.1.1
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-1.1.2.tar.gz#md5=fe9c9a3ed95fe6564acf8b4500c7b5da (from https://pypi.python.org/simple/psutil/), version: 1.1.2
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-1.1.3.tar.gz#md5=845806dcd0b954144b2451f696db85b0 (from https://pypi.python.org/simple/psutil/), version: 1.1.3
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-1.2.0.tar.gz#md5=f8ae906249e65db21f17d873ae07e584 (from https://pypi.python.org/simple/psutil/), version: 1.2.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-1.2.1.tar.gz#md5=80c3b251389771ab472e554e6c729c36 (from https://pypi.python.org/simple/psutil/), version: 1.2.1
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz#md5=9ee83ff3d68396f91ebdf71ae83b152d (from https://pypi.python.org/simple/psutil/), version: 2.0.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-2.1.0.tar.gz#md5=ba1f51f4c8e2c74cba48cef70b8a5bec (from https://pypi.python.org/simple/psutil/), version: 2.1.0
    Found link https://pypi.python.org/packages/source/p/psutil/psutil-2.1.1.tar.gz#md5=72a6b15d589fab11f6ca245b775bc3c6 (from https://pypi.python.org/simple/psutil/), version: 2.1.1
  Using version 2.1.1 (newest of versions: 2.1.1, 2.1.0, 2.0.0, 1.2.1, 1.2.0, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0, 0.7.1, 0.7.0, 0.6.1, 0.6.0, 0.5.1, 0.5.0, 0.4.1, 0.4.0, 0.3.0, 0.2.1, 0.2.0, 0.1.3, 0.1.2, 0.1.1)
  Downloading from URL https://pypi.python.org/packages/source/p/psutil/psutil-2.1.1.tar.gz#md5=72a6b15d589fab11f6ca245b775bc3c6 (from https://pypi.python.org/simple/psutil/)
  Running setup.py (path:/private/tmp/pip_build_root/psutil/setup.py) egg_info for package psutil
    running egg_info
    creating pip-egg-info/psutil.egg-info
    writing pip-egg-info/psutil.egg-info/PKG-INFO
    writing top-level names to pip-egg-info/psutil.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/psutil.egg-info/dependency_links.txt
    writing manifest file 'pip-egg-info/psutil.egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found

    reading manifest file 'pip-egg-info/psutil.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no previously-included files matching '*' found under directory 'docs/_build'
    writing manifest file 'pip-egg-info/psutil.egg-info/SOURCES.txt'
  Source in /private/tmp/pip_build_root/psutil has version 2.1.1, which satisfies requirement psutil (from stellar)
Downloading/unpacking py>=1.4.22 (from pytest->stellar)
  Getting page https://pypi.python.org/simple/py/
  URLs to search for versions for py>=1.4.22 (from pytest->stellar):
  * https://pypi.python.org/simple/py/
  Analyzing links from page https://pypi.python.org/simple/py/
    Skipping link https://pypi.python.org/packages/2.4/p/py/py-0.9.2-py2.4-win32.egg#md5=4eac7f97b8efed2271cc0c63c8796f23 (from https://pypi.python.org/simple/py/); unknown archive format: .egg
    Skipping link https://pypi.python.org/packages/2.5/p/py/py-0.9.2-py2.5-win32.egg#md5=afc5e92b1e20475be0f2fe805479de6d (from https://pypi.python.org/simple/py/); unknown archive format: .egg
    Found link https://pypi.python.org/packages/source/p/py/py-0.9.1.tar.gz#md5=daab8d9a814eab31809d973370d23600 (from https://pypi.python.org/simple/py/), version: 0.9.1
    Found link https://pypi.python.org/packages/source/p/py/py-0.9.2.tar.gz#md5=2c996d78867f6ad64dc5aabf1185aaf7 (from https://pypi.python.org/simple/py/), version: 0.9.2
    Found link https://pypi.python.org/packages/source/p/py/py-0.9.2.zip#md5=8447b2ba4c7b4062fcd08aab3377f040 (from https://pypi.python.org/simple/py/), version: 0.9.2
    Found link https://pypi.python.org/packages/source/p/py/py-1.0.0.tar.gz#md5=3223ff8fcaefd060be13262e367794ce (from https://pypi.python.org/simple/py/), version: 1.0.0
    Found link https://pypi.python.org/packages/source/p/py/py-1.0.1.tar.gz#md5=d64444015bac78e0c73ac285f9423750 (from https://pypi.python.org/simple/py/), version: 1.0.1
    Found link https://pypi.python.org/packages/source/p/py/py-1.0.2.tar.gz#md5=4d2e9878b0113159fae2f3ed0cfc081d (from https://pypi.python.org/simple/py/), version: 1.0.2
    Found link https://pypi.python.org/packages/source/p/py/py-1.1.0.tar.gz#md5=fb5d1fcf3173d9c4dce70cfc8888e359 (from https://pypi.python.org/simple/py/), version: 1.1.0
    Found link https://pypi.python.org/packages/source/p/py/py-1.1.1.tar.gz#md5=4d0b5eaf9af09b7682fb07d4c5a2fd45 (from https://pypi.python.org/simple/py/), version: 1.1.1
    Found link https://pypi.python.org/packages/source/p/py/py-1.2.0.tar.gz#md5=c75a9d0a9211a7ecddc981dd8a0158db (from https://pypi.python.org/simple/py/), version: 1.2.0
    Found link https://pypi.python.org/packages/source/p/py/py-1.2.1.tar.gz#md5=7b3f4c0da62131e6dd25f7f3fda013cc (from https://pypi.python.org/simple/py/), version: 1.2.1
    Found link https://pypi.python.org/packages/source/p/py/py-1.3.0.tar.gz#md5=986f75a6303da690e384995633677739 (from https://pypi.python.org/simple/py/), version: 1.3.0
    Found link https://pypi.python.org/packages/source/p/py/py-1.3.1.tar.gz#md5=0cf1fa3d0f281a2bb7ed38ad0b7169da (from https://pypi.python.org/simple/py/), version: 1.3.1
    Found link https://pypi.python.org/packages/source/p/py/py-1.3.2.tar.gz#md5=9e3d99966385854fc07004e8a07cf9d4 (from https://pypi.python.org/simple/py/), version: 1.3.2
    Found link https://pypi.python.org/packages/source/p/py/py-1.3.3.tar.gz#md5=bf0dbc3ce4c18ead263cb5679e5164b4 (from https://pypi.python.org/simple/py/), version: 1.3.3
    Found link https://pypi.python.org/packages/source/p/py/py-1.3.4.tar.gz#md5=b64d73a04121c1c4e27c7ec335ef87c8 (from https://pypi.python.org/simple/py/), version: 1.3.4
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.0.zip#md5=1441a30f94a0f0cfc47d69a792606bff (from https://pypi.python.org/simple/py/), version: 1.4.0
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.1.zip#md5=0e73fa13d01627761b50e614403e1180 (from https://pypi.python.org/simple/py/), version: 1.4.1
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.10.zip#md5=d166e940d8f1c54ba752e52f21528bf2 (from https://pypi.python.org/simple/py/), version: 1.4.10
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.11.zip#md5=d03d4f78606f1c44018021b9a6f2878b (from https://pypi.python.org/simple/py/), version: 1.4.11
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.12.zip#md5=8230f8241dea2517757fab50b4f84449 (from https://pypi.python.org/simple/py/), version: 1.4.12
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.13.tar.gz#md5=3857dc8309d5f284669b81184253c2bb (from https://pypi.python.org/simple/py/), version: 1.4.13
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.14.tar.gz#md5=f441639a1d3f0bbbc955cd22d8127d5e (from https://pypi.python.org/simple/py/), version: 1.4.14
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.15.tar.gz#md5=b5afc772d242d2dbcf7a2fcf3080a799 (from https://pypi.python.org/simple/py/), version: 1.4.15
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.16.tar.gz#md5=3f4aa73ec2c74343ae30ffb1282b6597 (from https://pypi.python.org/simple/py/), version: 1.4.16
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.17.tar.gz#md5=1dba4de9f1ac9b3e025895a0b6ad5a91 (from https://pypi.python.org/simple/py/), version: 1.4.17
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.18.tar.gz#md5=1b04e9879fed8a420b9e52cbaf7d8b4f (from https://pypi.python.org/simple/py/), version: 1.4.18
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.19.tar.gz#md5=d2e24b4363d834bf9192247f143435bc (from https://pypi.python.org/simple/py/), version: 1.4.19
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.2.zip#md5=fd00ef0c7dbaaeb1b37259e571ba28a5 (from https://pypi.python.org/simple/py/), version: 1.4.2
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.20.tar.gz#md5=5f1708be5482f3ff6711dfd6cafd45e0 (from https://pypi.python.org/simple/py/), version: 1.4.20
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.21.tar.gz#md5=a90c08f3de327faadf5cc4d206afa934 (from https://pypi.python.org/simple/py/), version: 1.4.21
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.22.tar.gz#md5=1af93ed9a00bc38385142ae0eb7cf3ff (from https://pypi.python.org/simple/py/), version: 1.4.22
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.23.tar.gz#md5=b40aea711eeb8adba0c44f0b750a3205 (from https://pypi.python.org/simple/py/), version: 1.4.23
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.3.zip#md5=f20018fda42165f2edb4226c8eafcae4 (from https://pypi.python.org/simple/py/), version: 1.4.3
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.4.zip#md5=5f94e19ce855df25d430265a19287db0 (from https://pypi.python.org/simple/py/), version: 1.4.4
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.5.zip#md5=d2a51f8c9eca43e2953cdec72989d6ec (from https://pypi.python.org/simple/py/), version: 1.4.5
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.6.zip#md5=18381334c69450a080ede4d04efb4b52 (from https://pypi.python.org/simple/py/), version: 1.4.6
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.7.dev3.zip#md5=e83ff50740ed06972157629c14433eb8 (from https://pypi.python.org/simple/py/), version: 1.4.7.dev3
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.7.zip#md5=fb1b2608eb4f52f67405fb316dbab09f (from https://pypi.python.org/simple/py/), version: 1.4.7
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.8.zip#md5=4577e659435568d168c66b69a3cb968a (from https://pypi.python.org/simple/py/), version: 1.4.8
    Found link https://pypi.python.org/packages/source/p/py/py-1.4.9.zip#md5=471a88edcdae2f9689c0193972a1a1f8 (from https://pypi.python.org/simple/py/), version: 1.4.9
  Ignoring link https://pypi.python.org/packages/source/p/py/py-0.9.1.tar.gz#md5=daab8d9a814eab31809d973370d23600 (from https://pypi.python.org/simple/py/), version 0.9.1 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-0.9.2.tar.gz#md5=2c996d78867f6ad64dc5aabf1185aaf7 (from https://pypi.python.org/simple/py/), version 0.9.2 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-0.9.2.zip#md5=8447b2ba4c7b4062fcd08aab3377f040 (from https://pypi.python.org/simple/py/), version 0.9.2 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.0.0.tar.gz#md5=3223ff8fcaefd060be13262e367794ce (from https://pypi.python.org/simple/py/), version 1.0.0 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.0.1.tar.gz#md5=d64444015bac78e0c73ac285f9423750 (from https://pypi.python.org/simple/py/), version 1.0.1 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.0.2.tar.gz#md5=4d2e9878b0113159fae2f3ed0cfc081d (from https://pypi.python.org/simple/py/), version 1.0.2 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.1.0.tar.gz#md5=fb5d1fcf3173d9c4dce70cfc8888e359 (from https://pypi.python.org/simple/py/), version 1.1.0 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.1.1.tar.gz#md5=4d0b5eaf9af09b7682fb07d4c5a2fd45 (from https://pypi.python.org/simple/py/), version 1.1.1 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.2.0.tar.gz#md5=c75a9d0a9211a7ecddc981dd8a0158db (from https://pypi.python.org/simple/py/), version 1.2.0 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.2.1.tar.gz#md5=7b3f4c0da62131e6dd25f7f3fda013cc (from https://pypi.python.org/simple/py/), version 1.2.1 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.3.0.tar.gz#md5=986f75a6303da690e384995633677739 (from https://pypi.python.org/simple/py/), version 1.3.0 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.3.1.tar.gz#md5=0cf1fa3d0f281a2bb7ed38ad0b7169da (from https://pypi.python.org/simple/py/), version 1.3.1 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.3.2.tar.gz#md5=9e3d99966385854fc07004e8a07cf9d4 (from https://pypi.python.org/simple/py/), version 1.3.2 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.3.3.tar.gz#md5=bf0dbc3ce4c18ead263cb5679e5164b4 (from https://pypi.python.org/simple/py/), version 1.3.3 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.3.4.tar.gz#md5=b64d73a04121c1c4e27c7ec335ef87c8 (from https://pypi.python.org/simple/py/), version 1.3.4 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.0.zip#md5=1441a30f94a0f0cfc47d69a792606bff (from https://pypi.python.org/simple/py/), version 1.4.0 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.1.zip#md5=0e73fa13d01627761b50e614403e1180 (from https://pypi.python.org/simple/py/), version 1.4.1 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.10.zip#md5=d166e940d8f1c54ba752e52f21528bf2 (from https://pypi.python.org/simple/py/), version 1.4.10 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.11.zip#md5=d03d4f78606f1c44018021b9a6f2878b (from https://pypi.python.org/simple/py/), version 1.4.11 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.12.zip#md5=8230f8241dea2517757fab50b4f84449 (from https://pypi.python.org/simple/py/), version 1.4.12 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.13.tar.gz#md5=3857dc8309d5f284669b81184253c2bb (from https://pypi.python.org/simple/py/), version 1.4.13 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.14.tar.gz#md5=f441639a1d3f0bbbc955cd22d8127d5e (from https://pypi.python.org/simple/py/), version 1.4.14 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.15.tar.gz#md5=b5afc772d242d2dbcf7a2fcf3080a799 (from https://pypi.python.org/simple/py/), version 1.4.15 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.16.tar.gz#md5=3f4aa73ec2c74343ae30ffb1282b6597 (from https://pypi.python.org/simple/py/), version 1.4.16 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.17.tar.gz#md5=1dba4de9f1ac9b3e025895a0b6ad5a91 (from https://pypi.python.org/simple/py/), version 1.4.17 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.18.tar.gz#md5=1b04e9879fed8a420b9e52cbaf7d8b4f (from https://pypi.python.org/simple/py/), version 1.4.18 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.19.tar.gz#md5=d2e24b4363d834bf9192247f143435bc (from https://pypi.python.org/simple/py/), version 1.4.19 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.2.zip#md5=fd00ef0c7dbaaeb1b37259e571ba28a5 (from https://pypi.python.org/simple/py/), version 1.4.2 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.20.tar.gz#md5=5f1708be5482f3ff6711dfd6cafd45e0 (from https://pypi.python.org/simple/py/), version 1.4.20 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.21.tar.gz#md5=a90c08f3de327faadf5cc4d206afa934 (from https://pypi.python.org/simple/py/), version 1.4.21 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.3.zip#md5=f20018fda42165f2edb4226c8eafcae4 (from https://pypi.python.org/simple/py/), version 1.4.3 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.4.zip#md5=5f94e19ce855df25d430265a19287db0 (from https://pypi.python.org/simple/py/), version 1.4.4 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.5.zip#md5=d2a51f8c9eca43e2953cdec72989d6ec (from https://pypi.python.org/simple/py/), version 1.4.5 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.6.zip#md5=18381334c69450a080ede4d04efb4b52 (from https://pypi.python.org/simple/py/), version 1.4.6 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.7.dev3.zip#md5=e83ff50740ed06972157629c14433eb8 (from https://pypi.python.org/simple/py/), version 1.4.7.dev3 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.7.zip#md5=fb1b2608eb4f52f67405fb316dbab09f (from https://pypi.python.org/simple/py/), version 1.4.7 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.8.zip#md5=4577e659435568d168c66b69a3cb968a (from https://pypi.python.org/simple/py/), version 1.4.8 doesn't match >=1.4.22
  Ignoring link https://pypi.python.org/packages/source/p/py/py-1.4.9.zip#md5=471a88edcdae2f9689c0193972a1a1f8 (from https://pypi.python.org/simple/py/), version 1.4.9 doesn't match >=1.4.22
  Using version 1.4.23 (newest of versions: 1.4.23, 1.4.22)
  Downloading from URL https://pypi.python.org/packages/source/p/py/py-1.4.23.tar.gz#md5=b40aea711eeb8adba0c44f0b750a3205 (from https://pypi.python.org/simple/py/)
  Running setup.py (path:/private/tmp/pip_build_root/py/setup.py) egg_info for package py
    running egg_info
    creating pip-egg-info/py.egg-info
    writing pip-egg-info/py.egg-info/PKG-INFO
    writing top-level names to pip-egg-info/py.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/py.egg-info/dependency_links.txt
    writing manifest file 'pip-egg-info/py.egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found

    reading manifest file 'pip-egg-info/py.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'pip-egg-info/py.egg-info/SOURCES.txt'
  Source in /private/tmp/pip_build_root/py has version 1.4.23, which satisfies requirement py>=1.4.22 (from pytest->stellar)
Downloading/unpacking six (from SQLAlchemy-Utils->stellar)
  Getting page https://pypi.python.org/simple/six/
  URLs to search for versions for six (from SQLAlchemy-Utils->stellar):
  * https://pypi.python.org/simple/six/
  Analyzing links from page https://pypi.python.org/simple/six/
    Found link https://pypi.python.org/packages/3.3/s/six/six-1.5.0-py2.py3-none-any.whl#md5=3307efe2bc4ca8556befc9afe297c530 (from https://pypi.python.org/simple/six/), version: 1.5.0
    Found link https://pypi.python.org/packages/3.3/s/six/six-1.5.1-py2.py3-none-any.whl#md5=2064b715201fa76a55dea75675ee19f2 (from https://pypi.python.org/simple/six/), version: 1.5.1
    Found link https://pypi.python.org/packages/3.3/s/six/six-1.5.2-py2.py3-none-any.whl#md5=ba32222ad0c5c7057a7c42e66e81289d (from https://pypi.python.org/simple/six/), version: 1.5.2
    Found link https://pypi.python.org/packages/3.3/s/six/six-1.6.0-py2.py3-none-any.whl#md5=e2755cf8a1d8e4eda44a8e3436c458ca (from https://pypi.python.org/simple/six/), version: 1.6.0
    Found link https://pypi.python.org/packages/3.3/s/six/six-1.6.1-py2.py3-none-any.whl#md5=ca195cc2271b03ae1c8750a88081c7f1 (from https://pypi.python.org/simple/six/), version: 1.6.1
    Found link https://pypi.python.org/packages/3.3/s/six/six-1.7.3-py2.py3-none-any.whl#md5=5f34fe522765d398b21decdce62ebd1d (from https://pypi.python.org/simple/six/), version: 1.7.3
    Found link https://pypi.python.org/packages/py2.py3/s/six/six-1.7.0-py2.py3-none-any.whl#md5=e5ca7e89cc79d755ea128fc7e2cb136e (from https://pypi.python.org/simple/six/), version: 1.7.0
    Found link https://pypi.python.org/packages/py2.py3/s/six/six-1.7.1-py2.py3-none-any.whl#md5=c3c1e251733acc9db947e75c9a02cf06 (from https://pypi.python.org/simple/six/), version: 1.7.1
    Found link https://pypi.python.org/packages/py2.py3/s/six/six-1.7.2-py2.py3-none-any.whl#md5=0e10f8d8e65257408e4428632859dad9 (from https://pypi.python.org/simple/six/), version: 1.7.2
    Found link https://pypi.python.org/packages/source/s/six/six-0.9.0.tar.gz#md5=5ce2947347101b9f54674c19ef88233d (from https://pypi.python.org/simple/six/), version: 0.9.0
    Found link https://pypi.python.org/packages/source/s/six/six-0.9.1.tar.gz#md5=1b249e0011355722f569406135a8ac93 (from https://pypi.python.org/simple/six/), version: 0.9.1
    Found link https://pypi.python.org/packages/source/s/six/six-0.9.2.tar.gz#md5=92ea7c870396dd9222029a188c6bbd7f (from https://pypi.python.org/simple/six/), version: 0.9.2
    Found link https://pypi.python.org/packages/source/s/six/six-1.0.0.tar.gz#md5=37c7ff036fdff2b1bb8d55e49ccb3b44 (from https://pypi.python.org/simple/six/), version: 1.0.0
    Found link https://pypi.python.org/packages/source/s/six/six-1.0b1.tar.gz#md5=cbfcc64af1f27162a6a6b5510e262c9d (from https://pypi.python.org/simple/six/), version: 1.0b1
    Found link https://pypi.python.org/packages/source/s/six/six-1.1.0.tar.gz#md5=9e8099b57cd27493a6988e9c9b313e23 (from https://pypi.python.org/simple/six/), version: 1.1.0
    Found link https://pypi.python.org/packages/source/s/six/six-1.2.0.tar.gz#md5=2a5d1afc79912832ac78fd38e3d75d7e (from https://pypi.python.org/simple/six/), version: 1.2.0
    Found link https://pypi.python.org/packages/source/s/six/six-1.3.0.tar.gz#md5=ec47fe6070a8a64c802363d2c2b1e2ee (from https://pypi.python.org/simple/six/), version: 1.3.0
    Found link https://pypi.python.org/packages/source/s/six/six-1.4.0.tar.gz#md5=5fcab6a067b5ebf68ede2f4d02fe7547 (from https://pypi.python.org/simple/six/), version: 1.4.0
    Found link https://pypi.python.org/packages/source/s/six/six-1.4.1.tar.gz#md5=bdbb9e12d3336c198695aa4cf3a61d62 (from https://pypi.python.org/simple/six/), version: 1.4.1
    Found link https://pypi.python.org/packages/source/s/six/six-1.5.0.tar.gz#md5=72b33ff89f3b2f21dd2cb28fb94f7031 (from https://pypi.python.org/simple/six/), version: 1.5.0
    Found link https://pypi.python.org/packages/source/s/six/six-1.5.1.tar.gz#md5=bb00c982fc0ec0dd6a760500b0941fa9 (from https://pypi.python.org/simple/six/), version: 1.5.1
    Found link https://pypi.python.org/packages/source/s/six/six-1.5.2.tar.gz#md5=322b86d0c50a7d165c05600154cecc0a (from https://pypi.python.org/simple/six/), version: 1.5.2
    Found link https://pypi.python.org/packages/source/s/six/six-1.6.0.tar.gz#md5=eb22a24e8be9497dd71930bf2321b6ec (from https://pypi.python.org/simple/six/), version: 1.6.0
    Found link https://pypi.python.org/packages/source/s/six/six-1.6.1.tar.gz#md5=07d606ac08595d795bf926cc9985674f (from https://pypi.python.org/simple/six/), version: 1.6.1
    Found link https://pypi.python.org/packages/source/s/six/six-1.7.0.tar.gz#md5=92f7210da3db1e988979fa394aa41d7a (from https://pypi.python.org/simple/six/), version: 1.7.0
    Found link https://pypi.python.org/packages/source/s/six/six-1.7.1.tar.gz#md5=f9fbad970c6e855cabde7ec1144b9058 (from https://pypi.python.org/simple/six/), version: 1.7.1
    Found link https://pypi.python.org/packages/source/s/six/six-1.7.2.tar.gz#md5=4c26276583b01dfc73474cb32327af91 (from https://pypi.python.org/simple/six/), version: 1.7.2
    Found link https://pypi.python.org/packages/source/s/six/six-1.7.3.tar.gz#md5=784c6e5541c3c4952de9c0a966a0a80b (from https://pypi.python.org/simple/six/), version: 1.7.3
    Skipping link http://bitbucket.org/gutworth/six (from https://pypi.python.org/simple/six/); not a file
    Skipping link http://bugs.launchpad.net/python-six (from https://pypi.python.org/simple/six/); not a file
    Skipping link http://code.launchpad.net/python-six (from https://pypi.python.org/simple/six/); not a file
    Skipping link http://mail.python.org/mailman/listinfo/python-porting (from https://pypi.python.org/simple/six/); not a file
    Skipping link http://packages.python.org/six/ (from https://pypi.python.org/simple/six/); not a file
  Ignoring link https://pypi.python.org/packages/source/s/six/six-1.0b1.tar.gz#md5=cbfcc64af1f27162a6a6b5510e262c9d (from https://pypi.python.org/simple/six/), version 1.0b1 is a pre-release (use --pre to allow).
  Using version 1.7.3 (newest of versions: 1.7.3, 1.7.3, 1.7.2, 1.7.2, 1.7.1, 1.7.1, 1.7.0, 1.7.0, 1.6.1, 1.6.1, 1.6.0, 1.6.0, 1.5.2, 1.5.2, 1.5.1, 1.5.1, 1.5.0, 1.5.0, 1.4.1, 1.4.0, 1.3.0, 1.2.0, 1.1.0, 1.0.0, 0.9.2, 0.9.1, 0.9.0)
  Downloading six-1.7.3-py2.py3-none-any.whl
  Downloading from URL https://pypi.python.org/packages/3.3/s/six/six-1.7.3-py2.py3-none-any.whl#md5=5f34fe522765d398b21decdce62ebd1d (from https://pypi.python.org/simple/six/)
Installing collected packages: psutil, py, six
  Running setup.py install for psutil
    Running command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/tmp/pip_build_root/psutil/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-zT6f_S-record/install-record.txt --single-version-externally-managed --compile
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.9-intel-2.7
    creating build/lib.macosx-10.9-intel-2.7/psutil
    copying psutil/__init__.py -> build/lib.macosx-10.9-intel-2.7/psutil
    copying psutil/_common.py -> build/lib.macosx-10.9-intel-2.7/psutil
    copying psutil/_compat.py -> build/lib.macosx-10.9-intel-2.7/psutil
    copying psutil/_psbsd.py -> build/lib.macosx-10.9-intel-2.7/psutil
    copying psutil/_pslinux.py -> build/lib.macosx-10.9-intel-2.7/psutil
    copying psutil/_psosx.py -> build/lib.macosx-10.9-intel-2.7/psutil
    copying psutil/_psposix.py -> build/lib.macosx-10.9-intel-2.7/psutil
    copying psutil/_pssunos.py -> build/lib.macosx-10.9-intel-2.7/psutil
    copying psutil/_pswindows.py -> build/lib.macosx-10.9-intel-2.7/psutil
    running build_ext
    building '_psutil_osx' extension
    creating build/temp.macosx-10.9-intel-2.7
    creating build/temp.macosx-10.9-intel-2.7/psutil
    creating build/temp.macosx-10.9-intel-2.7/psutil/arch
    creating build/temp.macosx-10.9-intel-2.7/psutil/arch/osx
    cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c psutil/_psutil_osx.c -o build/temp.macosx-10.9-intel-2.7/psutil/_psutil_osx.o
    clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
    clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
    error: command 'cc' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/tmp/pip_build_root/psutil/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-zT6f_S-record/install-record.txt --single-version-externally-managed --compile:
    running install

running build

running build_py

creating build

creating build/lib.macosx-10.9-intel-2.7

creating build/lib.macosx-10.9-intel-2.7/psutil

copying psutil/__init__.py -> build/lib.macosx-10.9-intel-2.7/psutil

copying psutil/_common.py -> build/lib.macosx-10.9-intel-2.7/psutil

copying psutil/_compat.py -> build/lib.macosx-10.9-intel-2.7/psutil

copying psutil/_psbsd.py -> build/lib.macosx-10.9-intel-2.7/psutil

copying psutil/_pslinux.py -> build/lib.macosx-10.9-intel-2.7/psutil

copying psutil/_psosx.py -> build/lib.macosx-10.9-intel-2.7/psutil

copying psutil/_psposix.py -> build/lib.macosx-10.9-intel-2.7/psutil

copying psutil/_pssunos.py -> build/lib.macosx-10.9-intel-2.7/psutil

copying psutil/_pswindows.py -> build/lib.macosx-10.9-intel-2.7/psutil

running build_ext

building '_psutil_osx' extension

creating build/temp.macosx-10.9-intel-2.7

creating build/temp.macosx-10.9-intel-2.7/psutil

creating build/temp.macosx-10.9-intel-2.7/psutil/arch

creating build/temp.macosx-10.9-intel-2.7/psutil/arch/osx

cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c psutil/_psutil_osx.c -o build/temp.macosx-10.9-intel-2.7/psutil/_psutil_osx.o

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

clang: note: this will be a hard error (cannot be downgraded to a warning) in the future

error: command 'cc' failed with exit status 1

----------------------------------------
Cleaning up...
  Removing temporary dir /private/tmp/pip_build_root...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/tmp/pip_build_root/psutil/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-zT6f_S-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/tmp/pip_build_root/psutil
Exception information:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 706, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/tmp/pip_build_root/psutil/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-zT6f_S-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/tmp/pip_build_root/psutil

install_requires should fix dependencies to specific versions

The install_requires value in setup.py does not specify the exact versions (dependency==0.1.0) and / or version bounds (dependency<=0.2). This means that someone could install this project a year from now and it may not work because a dependency could have introduced a backwards incompatible change. It's therefore better to specify the versions and upgrade them yourself when you've verified that a newer version of a dependency works fine with this project.

BUG: DATABASE NAME PARSER!!

When the target database has '_' in it's database name(ex. postgresql://localhost:5432/railsapp_development), stellar restore command doesn't work properly! This is a terrible bug considering the rails convention to use underscore per rails environment database. The code that parses the database names should take into account this rather "popular" edge-case. It took me few hours to find out this bug.

I guess this person had the same issue: #27

[question] How can i specify the database to take a snapshot of?

Hi! An awesome lib! But i have a question.

I can see the tracked_databases: [mydbname] line in the stellar.yaml file but can't figure out how to use this setting while taking a snapshot. I can modify the [mydbname] into [db_to_snapshot2] and i assume Stellar would look at the db_to_snapshot2 during the next snapshotting, but is there a way to specify db name while executing commands in shell? Something like stellar snapshot db_to_snapshot2 snapshotname

Quote DB names

I tried to use stellar with a Mysql/MariaDB database which has a dash in it's name.

The result is this:

$:[~]:$ stellar snapshot
Snapshotting database foo-bar
Traceback (most recent call last):
  File "/usr/local/bin/stellar", line 9, in <module>
    load_entry_point('stellar==0.4.3', 'console_scripts', 'stellar')()
  File "/usr/local/lib/python2.7/dist-packages/stellar/command.py", line 279, in main
    stellar()
...
...
  File "/usr/local/lib/python2.7/dist-packages/pymysql/err.py", line 112, in _check_mysql_exception
    raise errorclass(errno, errorvalue)
sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1064, u"You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-bar' at line 1") [SQL: 'SHOW TABLES in foo-bar;']

For Mysql the correct query should look like this: SHOW TABLES in foo-bar``

PostgreSQL 10 compatibility

On stellar snapshot s_2017_11:

Traceback (most recent call last):
  File "/usr/bin/stellar", line 11, in <module>
    load_entry_point('stellar==0.4.3', 'console_scripts', 'stellar')()
  File "/usr/lib/python2.7/site-packages/stellar/command.py", line 279, in main
    stellar()
  File "/usr/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/stellar/command.py", line 70, in snapshot
    app.create_snapshot(name, before_copy=before_copy)
  File "/usr/lib/python2.7/site-packages/stellar/app.py", line 120, in create_snapshot
    table.get_table_name('master')
  File "/usr/lib/python2.7/site-packages/stellar/operations.py", line 56, in copy_database
    terminate_database_connections(raw_conn, from_database)
  File "/usr/lib/python2.7/site-packages/stellar/operations.py", line 40, in terminate_database_connections
    ''' % {'pid_column': pid_column, 'database': database}
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 939, in execute
    return self._execute_text(object, multiparams, params)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1097, in _execute_text
    statement, parameters
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
    context)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
    exc_info
  File "/usr/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
    context)
  File "/usr/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) column pg_stat_activity.procpid does not exist
LINE 2:                 SELECT pg_terminate_backend(pg_stat_activity...

stellar == 0.4.3
psycopg2 == 2.7.3.2
SQLAlchemy == 1.1.15

setup.py's `install_requires` is overly strict

it's currently:

 install_requires = [
'PyYAML==3.11',
'SQLAlchemy==0.9.6',
'humanize==0.5',
'pytest==2.5.2',
'schema==0.3.1',
'click==3.1',
'SQLAlchemy-Utils==0.26.11',
'psutil==2.1.1',
]

The problems I see are:

  1. pinned to specific versions. This is a major barrier to actively using this because installing stellar would change my installed versions, when my already installed versions maybe would have worked. Possible solutions: use a range of versions, or use no versions and let developers figure it out
  2. installing things that aren't even used. For example, pytest isn't required to use stellar.

mySQL snapshots missing foreign keys!

I find that after I restore a snapshot, it's missing all FKs that were present in the DB before I create the snapshot. Is this unsupported currently?

ImportError: No module named 'app'

I'm testing this on Arch Linux. Pip succesfully installed the app. After running stellar or stellar init, I get the following stack trace:

Traceback (most recent call last):
  File "/usr/bin/stellar", line 9, in <module>
    load_entry_point('stellar==0.3.2', 'console_scripts', 'stellar')()
  File "/usr/lib/python3.4/site-packages/pkg_resources.py", line 356, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3.4/site-packages/pkg_resources.py", line 2472, in load_entry_point
    return ep.load()
  File "/usr/lib/python3.4/site-packages/pkg_resources.py", line 2186, in load
    ['__name__'])
  File "/usr/lib/python3.4/site-packages/stellar/__init__.py", line 1, in <module>
    import app
ImportError: No module named 'app'

Should I run this app with a different python version?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.