[Tutor] Cmd Advice
Dave Hanson
dave at hansonforensics.co.uk
Sat Feb 11 11:06:47 CET 2012
Hi Walter,
I can't thank you enough for taking the time to explain all of this in such
level of detail. :) also apologies for taking so long to respond, I have to
do this on my work machine and we are so busy at the minute I just haven't
the time to do anything - I will not be deterred though!
I followed your instructions and now have no errors, but all that seems to
happen is either the dos window or python window (not sure which - it's
black and only appears for a millisecond) pops up and then.... nothing. I
maybe incorrectly assumed that I would have a terminal like window with a
blinking cursor and that would accept my commands to the "t" program?
Thanks again for all your help.
Best Regards,
Dave Hanson
<http://hansonforensics.co.uk/>
On Wed, Feb 8, 2012 at 1:29 AM, Walter Prins <wprins at gmail.com> wrote:
> HI Dave,
>
>
> On 7 February 2012 16:55, Dave Hanson <dave at hansonforensics.co.uk> wrote:
>
>> I tried what you said, many attempts result in this message:
>>
>>
>>> *C:\Documents and Settings\dhanson2\Desktop>"C:\Python27\python.exe"
>>> "C:\t.py"*
>>> * *
>>> *C:\Python27\python.exe: can't open file 'C:\t.py': [Errno 2] No such
>>> file or directory*
>>>
>>
>> I've tried moving t.py around but still no joy?
>>
>> Here is what I put in my bat file with and without the quotes:
>>
>>
>>> *"C:\Python27\python.exe" "C:\t.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
>>> *
>>
>>
>>
> The error message implies that the program "t.py" is in the root of your
> C:\ drive? I'd have thought this would not be the case -- you need to give
> the correct path to the "t.py" file for Python to load it. (And as an
> aside, you need to quote paths if theycontains spaces, otherwise the
> command prompt will interpret the first part up to a space in the path as
> the path/command and the remainder of the path as a command line argument!
> (One subtlety of command lines...) The "Documents and Settings" folder on
> Windows XP was therefore very unfortunately chosen since the spaces causes
> endless problems with people not realising this and trying to use files
> located inside Documents and Settings. You'll notice on Windows 7
> Microsoft has wisely (at last) decided to shorten and remove spaces as much
> as possible from paths to avoid gotchas with people forgetting to quote
> paths, and similarly Python itself does not uses spaces in any of its
> folder names. But I digress.
>
> Anyway, I've had a quick further look at this program and got it working
> the way you want on my machine. The precise steps I followed was:
> 1.) Install Mercurial for Windows (to be able to checkout the source). I
> got it here: http://tortoisehg.bitbucket.org/download/index.html
> 2.) Retrieved the source code. On my machine I opened a command prompt,
> and:
> cd "C:\Users\walterp\Documents\Python"
> hg clone https://bitbucket.org/sjl/t
>
> This creates a folder called "t" inside of my Python source folder.
> Adjust folders as required for your machine and/or where you keep your
> Python source.
>
> 3) Create a batch file called "t.bat" in
> "C:\Users\walterp\Documents\Python\t", so the full filename is
> "C:\Users\walterp\Documents\Python\t\t.bat", containing these lines:
>
> @echo off
> c:
> cd C:\Users\walterp\Documents\Python\t
> c:\python27\python.exe "C:\Users\walterp\Documents\Python\t\t.py" %1 %2 %3
> %4 %5 %6 %7 %8 %9
>
> The effect of these commands is to stop the command interpreter from
> displaying the commands issues by the batch file (which is unwanted here)
> via the "@echo off" line, and then setting up the environment prior to
> running the t.py program such that it will always run having the "current
> working folder" be the same folder that the t.py program is located in.
>
> This is important since the t.py program currently assumes that it will
> always be run from the same starting location, which is not the case if you
> go and put the program on the command line search path so that you can use
> it from any other working folder. (Without this, if you run the program
> from another location, then the t.py program will create a new task list in
> the new location -- basically the t.py command will create and manage a
> task list in whatever folder you happen to be in, so in order to ensure it
> always updates the same task list, the lines above therefore ensures it
> always effectively runs from the same place, regardless of where the batch
> file t.bat might have been run from, thereby effectively ensuring it to
> always uses the same task list file.)
>
> Also, note that in order to in fact use the t.bat file from any other
> folder, you'll have to add the bat files location to you system (or user)
> PATH variable. Do you know how to do this, and are you allowed to do so,
> or are you blocked by your IT policies? If so you should also be able to
> do this via e.g. another batch file, perhaps the same one you use to
> circumvent the cmd.exe blocks on your system, by simply adding it to the
> PATH variable there, e.g. a line like this ought to do it:
> PATH=%PATH%;C:\Users\walterp\Documents\Python\t
>
> Lastly a minor observation: I note this source code includes a setup.py
> script. This implies you can install t.py into your Python environment
> such that an .exe file will be created for it (really copy of the t.py file
> and the python interpreter [I think, or a launcher of some sort] combined)
> in the Python\Scripts folder. Some Python distributions (e.g. Activestate
> IIRC) puts this folder onto the system Path thereby making "system wide"
> installed Python packages/commands (where appropriate) instantly usable
> from the command prompt, others (e.g. standard Python on Windows) do not
> and leaves this step for you to complete. Anyway, I've obviously not gone
> the route of installin via setup.py, since installing this program in this
> way will make it difficult/impossible for you to tinker/edit the program
> easily, and I'm assuming you want to actually be able to edit the program
> (and possibly submit patches back to the author?) while using it etc. So,
> for this to be possible you actually need the t.py to "run from source" and
> don't want to embedded in your Python environment, which is what not using
> setup.py and doing the above effectively enables you to do easily. (Aside:
> when I noticed the program isn't location/working directory independent I
> immediately thought this might be a useful patch/enhancement to make --
> make it get the folder location of itself and use that for the location of
> the tasks list etc.)
>
> Let me know if you have further problems.
>
> Walter
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120211/f2f63efb/attachment-0001.html>
More information about the Tutor
mailing list