unwanted unicode passed to args #710

Closed
jdmarino opened this Issue Aug 19, 2011 · 2 comments

Projects

None yet

4 participants

@jdmarino

(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?

@takluyver
IPython member

At present, I don't think there is. It might get looked into for 0.12 - a couple of people have mentioned it.

@fperez
IPython member

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.

@minrk minrk added a commit to minrk/ipython that referenced this issue Oct 18, 2011
@minrk minrk don't inject unicode into sys.argv
Protects %run and `ipython script.py` from getting unicode sys.argv on Python 2

closes #710
625ff81
@minrk minrk added a commit that closed this issue Oct 19, 2011
@minrk minrk don't inject unicode into sys.argv
Protects %run and `ipython script.py` from getting unicode sys.argv on Python 2

closes #710
71d3d18
@minrk minrk closed this in 71d3d18 Oct 19, 2011
@mattvonrocketstein mattvonrocketstein pushed a commit to mattvonrocketstein/ipython that referenced this issue Nov 3, 2014
@minrk minrk don't inject unicode into sys.argv
Protects %run and `ipython script.py` from getting unicode sys.argv on Python 2

closes #710
0771420
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment