(N00b to python and iPython)
Windows, python2.7, iPython 0.11
When using "run" with args, the receiving program gets unicode, not vanilla strings. This was not the case under 0.1 and is still not the case when python is run from the windows command line (i.e.when not using iPython).
Example: optional arg is a string that looks like a list: 'abc,def'. The receiving proc now gets u'abc,def', which when split() becomes a tuple (u'abc', u'def'). This is a problem for me because the string representation of the tuple is now different than it used to be (it includes the 'u'), so using the string as a key to a shelf stored before the change does not work. (That is, the shelf was made with key "('abc', 'def')" under 0.10, but now I'm trying to find "(u'abc', u'def')" under iPython 0.11 and cannot.)
The lack of default backward compatibility is forcing me to insulate my code with str(). Is there some setting to calm down the use of unicode?
At present, I don't think there is. It might get looked into for 0.12 - a couple of people have mentioned it.
Let's mark this as high-priority for 0.12. It's indeed affecting more than one person, and we are breaking (albeit unintentionally) a low-level behavior that programs expect, so it's definitely a bug on our side.
don't inject unicode into sys.argv
Protects %run and `ipython script.py` from getting unicode sys.argv on Python 2