swcarpentry / DEPRECATED-bc

DEPRECATED: This repository is now frozen - please see individual lesson repositories.
Other
299 stars 383 forks source link

Problem with novice/sql sqlitemagic #890

Closed cgates closed 9 years ago

cgates commented 9 years ago

Upshot: if you're using Anaconda, and trying to run sql sections in IPython, they may not work as expected.

Novice sql lessons IPython notebooks make heavy use of custom Greg Wilson's sqlitemagic which was inspired by (https://github.com/tkf/ipython-sqlitemagic/blob/master/sqlitemagic.py). This is great, but: a) tkf's sqlitemagic is now included in standard Anaconda b) tkf's sqlitemagic has changed his cell/row magics and they don't match Greg's. c) tkf's sitemagic requires install of texttable package (just FYI)

This seems worth fixing, but I wasn't clear on the best way. My seat of the pants workaround was to rename Greg's adaptation to swc_sqlitemagic.py and adjust the notebook to load that. What thinks others? cg

gvwilson commented 9 years ago

I've gotten rid of the dependence on sqlitemagic in the newly-broken-out repo (https://github.com/swcarpentry/sql-novice-survey) - it tied out lesson to the Notebook, which R and MATLAB classes don't use, and even Notebook users have to be pretty advanced to be doing SQL that way.
I've kept the sqlitemagic.py plugin in the new SQL lesson's code repo, but would be happy to switch to tkf's.

cgates commented 9 years ago

Gotcha. So the new approach is not generating markdown/html from ipython notebooks?

gvwilson commented 9 years ago

Correct - people are using Notebooks when they actually teach, but using it for the notes as well was excluding a lot of would-be contributors, since diffing and merging IPython Notebooks with Git is... non-trivial.

cgates commented 9 years ago

Understood. Last question and then I will stop molesting you: So when assembling SQL and results with notes, folks are doing that manually?

gvwilson commented 9 years ago

Yup - although for me, "manually" means running everything inside Emacs and using a macro to copy the SQL over to the other buffer, run it, copy the output, and paste that back.