On Thu, Jun 13, 2013 at 11:55 PM, Jim Mooney <cybervigila...@gmail.com> wrote: > > My IDE startup script has been changed to also go to the proper working > directory. > BUT - Py 3.3 at the command prompt uses my 3.3 working directory, and Py 2.7 > ALSO uses the 3.3 working directory, which is not what I want, obviously. > Those are two different sets of scripts that won't always play together.
Why would running python.exe change the current working directory? Anyway, I don't know much about ActivePython, so I shouldn't even ask. > Is there a way to set up each different interpreter, either Py 3.3 or Py > 2.2, to automatically change to a particular working directory when you call > it - with a command line switch for instance? I can os.chdir after it > starts, of course, but that's a drag and I'll forget to do it at some point. > If I can do that from the call to Python I can make a batch file for each > one, with two different names - and easy typing ones like Py27 and Py33 ;') Is this for imports relative to the current directory? If so I recommend using the user site-packages in your profile directory. Run the following to print its location: import site print(site.getusersitepackages()) It's probably the following directory (but I know next to nothing about ActivePython): "%appdata%\Python\Python??\site-packages" (substitute the 2-digit version number for ??) Using this directory avoids sharing paths between interpreters via the PYTHONPATH environment variable. Just add a .pth file containing the absolute path to your personal library of modules/packages for Python??. > I see one possible candidate in python --help > -c cmd : program passed in as string (terminates option list) > > But what does "program passed in as a string(terminates option list)" mean? > How do I stringify import os > os.chdir('my directory') ? That's unclear to > me. I don't agree with the end goal here, but running a micro-script from the shell can be convenient, especially when paired with macros/aliases. Here's how to start Python in a particular directory: C:\>python -i -c "import os; os.chdir('C:/Python33')" >>> os.getcwd() 'C:\\Python33' -i drops into interactive mode after the command completes. In Windows you have to use double quotes for the argument after -c. But single-quotes are fine for string literals within the command. The Windows command-line is a bit weird in that it stores per-executable input history and aliases in the console itself instead of in the shell. In some ways it's convenient because it lets you define aliases that target a particular exe, such as python.exe or cmd.exe. And if you quit and restart (the program, not the console window), it remembers your history (press F7 for a pop-up scrollbox). Anyway, the interface should be familiar to anyone who ever used MS-DOS. It's doskey (no, it's not a DOS program): C:\>doskey calc=c:\python33\python -c "from cmath import *;print($*)" C:\>calc e**(1j*pi/3) (0.5000000000000001+0.8660254037844386j) $1 is parameter 1, and so on, and $* globs all of the parameters. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor