473,324 Members | 2,246 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,324 software developers and data experts.

Launching scripts in Ubuntu ?

hello,

I'm not familiar with Linux / Ubuntu,
still trying to get my application working under these operating systems.

I've a script "file_support.py",
now when I'm in Ubuntu, open a command window and go to the directory
where that file is,
I can launch the script with :
"python file_support.py"
and it works great

Now when I want to run the script from another script, let's call it "
test.py"
where this is the contents of test.py:

import subprocess
subprocess.Popen ( [ 'python', 'file_support.py', ] )

The script "file_support" is executed correctly,
but the python interpreter is not closed,
I've to close it manual by pressing ENTER.

What should I change ?

thanks,
Stef Mientki
Oct 14 '08 #1
5 1757
Stef Mientki wrote:
hello,

I'm not familiar with Linux / Ubuntu,
still trying to get my application working under these operating systems.

I've a script "file_support.py",
now when I'm in Ubuntu, open a command window and go to the directory
where that file is,
I can launch the script with :
"python file_support.py"
and it works great

Now when I want to run the script from another script, let's call it "
test.py"
where this is the contents of test.py:

import subprocess
subprocess.Popen ( [ 'python', 'file_support.py', ] )

The script "file_support" is executed correctly,
but the python interpreter is not closed,
I've to close it manual by pressing ENTER.
What do you mean "it's not closed"? Which window is taking the enter, and
how do you run test.py?

Diez
Oct 14 '08 #2
Diez B. Roggisch wrote:
Stef Mientki wrote:

>hello,

I'm not familiar with Linux / Ubuntu,
still trying to get my application working under these operating systems.

I've a script "file_support.py",
now when I'm in Ubuntu, open a command window and go to the directory
where that file is,
I can launch the script with :
"python file_support.py"
and it works great

Now when I want to run the script from another script, let's call it "
test.py"
where this is the contents of test.py:

import subprocess
subprocess.Popen ( [ 'python', 'file_support.py', ] )

The script "file_support" is executed correctly,
but the python interpreter is not closed,
I've to close it manual by pressing ENTER.

What do you mean "it's not closed"?
well the command prompt (if it is called that way in Linus) is not returned.

When I run file_support, the command window looks like this
>>>python file_support.py
...... all kinds of output
>>>
When I run test.py (which calls fie_support) , I get this
>>>python test.py
..... all kinds of output (the same as before)

Now I've to explicitly press an enter to get the command prompt back.
This might not sound important,
but the problem is somewhat more complex,
all these scripts are ran from another program,
and although everything works fine under windows,
the program hangs on Ubuntu.
So I guess that this is the (first) problem to solve.

thanks,
Stef


Which window is taking the enter, and
how do you run test.py?

Diez
--
http://mail.python.org/mailman/listinfo/python-list
Oct 14 '08 #3
>What do you mean "it's not closed"?
well the command prompt (if it is called that way in Linus) is not
returned.

When I run file_support, the command window looks like this
>>>python file_support.py
..... all kinds of output
>>>

When I run test.py (which calls fie_support) , I get this
>>>python test.py
.... all kinds of output (the same as before)

Now I've to explicitly press an enter to get the command prompt back.
This might not sound important,
but the problem is somewhat more complex,
all these scripts are ran from another program,
and although everything works fine under windows,
the program hangs on Ubuntu.
So I guess that this is the (first) problem to solve.
This looks odd. I've never seen a *shell* display ">>>" as prompt. So it
looks as if you mix stuff between the shell (bash, tcsh, whatever) and
python in the above. Are you *inside* the python interpreter already when
typing "python test.py"?

And if *not*, does typing e.g. "ls <return>" work for you, right after the
test.py is run? Then there is no "getting back of the prompt", it's just
that a last newline is .. well, not even missing, just not printed.
Consider this (I use $ for the shellpromt):

$ python -c "import sys;sys.stdout.write('hello')"
hello$

Additonally, you might want to check out the Popen-object-reference for the
wait-call, but actually that shouldn't change anything with regards to
pressing enter or not.

Diez
Oct 14 '08 #4
Diez B. Roggisch wrote:
>>What do you mean "it's not closed"?
well the command prompt (if it is called that way in Linus) is not
returned.

When I run file_support, the command window looks like this
> >>>python file_support.py
..... all kinds of output
> >>>

When I run test.py (which calls fie_support) , I get this
> >>>python test.py
.... all kinds of output (the same as before)

Now I've to explicitly press an enter to get the command prompt back.
This might not sound important,
but the problem is somewhat more complex,
all these scripts are ran from another program,
and although everything works fine under windows,
the program hangs on Ubuntu.
So I guess that this is the (first) problem to solve.

This looks odd. I've never seen a *shell* display ">>>" as prompt.
">>>" stands for:
stef@stef-desktop:/media/disk/Data_Python_25/support$
So it
looks as if you mix stuff between the shell (bash, tcsh, whatever) and
python in the above. Are you *inside* the python interpreter already when
typing "python test.py"?
So no
And if *not*, does typing e.g. "ls <return>" work for you, right after the
test.py is run?
yes it does
Then there is no "getting back of the prompt", it's just
that a last newline is .. well, not even missing, just not printed.
Consider this (I use $ for the shellpromt):

$ python -c "import sys;sys.stdout.write('hello')"
hello$

Additonally, you might want to check out the Popen-object-reference for the
wait-call, but actually that shouldn't change anything with regards to
pressing enter or not.
ok It seems to be solved now,
In creating a small example to emphasize the problem,
I found the difference between Win and Linux:
In windows "shell=True" and in Linux "shell=False"
PID = subprocess.Popen( arguments,
cwd = cwd ,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE,
shell = ( os.name == 'nt') )
so the above statement seems (at least for the moment) solve all the
problems.

thank you all,
Stef

Oct 14 '08 #5
En Tue, 14 Oct 2008 10:46:34 -0300, Stef Mientki <st**********@gmail.com>
escribió:
>>well the command prompt (if it is called that way in Linus) is not
returned.

When I run file_support, the command window looks like this
>>>python file_support.py
..... all kinds of output
>>>

When I run test.py (which calls fie_support) , I get this
>>>python test.py
.... all kinds of output (the same as before)

Now I've to explicitly press an enter to get the command prompt back.
ok It seems to be solved now,
In creating a small example to emphasize the problem,
I found the difference between Win and Linux:
In windows "shell=True" and in Linux "shell=False"
PID = subprocess.Popen( arguments,
cwd = cwd ,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE,
shell = ( os.name == 'nt') )
so the above statement seems (at least for the moment) solve all the
problems.
I'd say there is no problem. It just *appears* to be one. The first
program finishes, and the shell displays its prompt, while the child is
still outputting things. I bet you can see the stef@stef-desktop...$
somewhere in the output.

It's like executing:
$ ls&
the shell prompt is shown as soon as the ls (background) process starts,
but gets lost in the output.
Diez B. Roggisch wrote:
>Additonally, you might want to check out the Popen-object-reference for
the
wait-call, but actually that shouldn't change anything with regards to
pressing enter or not.
Calling wait in the parent script would prevent it to finish before the
child, avoiding the issue.

--
Gabriel Genellina

Oct 14 '08 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Martin Maney | last post by:
Apologies if this isn't news here - I've been too busy this last week or so for even skimming the traffic here, in part because I've been messing around with Ubuntu's preview release on a spare...
6
by: Ernesto | last post by:
Does anyone know how to start Python program(s) from a Linux shell script? Is it just $python myscript.py ?? Thanks,
2
by: SPE - Stani's Python Editor | last post by:
Hi, I'm playing around with the latest (soon to be released) SPE on Ubuntu. This probably will increase the quality of SPE on Ubuntu and Linux/GTK in general. I already made some patches, but I...
2
by: Byte | last post by:
Decided to try the eric3 IDE, but I cant figure out how to start it! When I extract the file, all I can see is a ton of files and Python scripts. What script will run the program? Where is it?...
2
by: Pradnyesh Sawant | last post by:
Hello, I have a newly installed ubuntu 6.06 system. I am trying to install pyqt4 on it, but without success. The contents of the /etc/apt/sources.list file are:...
8
by: =?iso-8859-1?B?QW5kcuk=?= | last post by:
I would like to find out how I can launch an independent Python program from existing one in a cross-platform way. The result I am after is that a new terminal window should open (for io...
0
by: ratcateme | last post by:
I am using apache 2.2.4 and perl 5.8.8 on Ubuntu 7.10 I am creating a website mainly in PHP but i have a few perl scripts i want to run. I am running a simple script but get this error a Internal...
5
jimpy
by: jimpy | last post by:
Greetings, Using Ubuntu 7.10 and Python 2.5.1 (r251:54863, Mar 7 2008, 04:10:12) on linux2 I am presently going through the "A Byte Of Python" tutorial. When I copy the little .py scripts...
11
by: Ix | last post by:
It seems not remember how to compile with gcc a C program in linux (ubuntu) how i have to compile this programme? It seems gcc doesn't find stdio.h.. why is all antiintuitive? Thank you and...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.