[Mac OSX] TextWrangler "run" command not working properly

F

Fabio

Hi to all,
I have troubles with TextWrangler "run" command in the "shebang" (#!)
menu.
I am on MacOSX 10.6.7.
I have the "built-in" Python2.5 which comes installed by "mother Apple".
Then I installed Python2.6, and left 2.5 untouched (I was suggested to
leave it on the system, since "something might need it").

I ran the "Update Shell Profile.command", and now if I launch "python"
in the terminal it happily launches the 2.6 version.
Then I installed some libraries (scipy and matplotlib) on this newer 2.6
version.
They work, and everything is fine.

Then, I started to use TexWrangler, and I wanted to use the "shebang"
menu, and "run" command.
I have the "#! first line" pointing to the 2.6 version.
It works fine, as long as I don't import the libraries, in which case it
casts an error saying:

ImportError: No module named scipy

Maybe for some reason it points to the old 2.5 version.
But I might be wrong and the problem is another...

I copy here the first lines in the terminal window if i give the "run in
terminal" command


Last login: Thu Apr 14 22:38:26 on ttys000
Fabio-Mac:~ fabio$
/var/folders/BS/BSS71XvjFKiJPH3Wqtx90k+++TM/-Tmp-/Cleanup\ At\
Startup/untitled\ text-324506443.860.command ; exit;
Traceback (most recent call last):
File "/Users/fabio/Desktop/test.py", line 3, in <module>
import scipy as sp
ImportError: No module named scipy
logout

[Process completed]

where the source (test.py) contains just:

#!/usr/bin/python2.6

import scipy as sp

print "hello world"


Any clue?

Thanks

Fabio
 
J

Jon Clements

Hi to all,
I have troubles with TextWrangler "run" command in the "shebang" (#!)
menu.
I am on MacOSX 10.6.7.
I have the "built-in" Python2.5 which comes installed by "mother Apple".
Then I installed Python2.6, and left 2.5 untouched (I was suggested to
leave it on the system, since "something might need it").

I ran the "Update Shell Profile.command", and now if I launch "python"
in the terminal it happily launches the 2.6 version.
Then I installed some libraries (scipy and matplotlib) on this newer 2.6
version.
They work, and everything is fine.

Then, I started to use TexWrangler, and I wanted to use the "shebang"
menu, and "run" command.
I have the "#! first line" pointing to the 2.6 version.
It works fine, as long as I don't import the libraries, in which case it
casts an error saying:

ImportError: No module named scipy

Maybe for some reason it points to the old 2.5 version.
But I might be wrong and the problem is another...

I copy here the first lines in the terminal window if i give the "run in
terminal" command

Last login: Thu Apr 14 22:38:26 on ttys000
Fabio-Mac:~ fabio$
/var/folders/BS/BSS71XvjFKiJPH3Wqtx90k+++TM/-Tmp-/Cleanup\ At\
Startup/untitled\ text-324506443.860.command ; exit;
Traceback (most recent call last):
  File "/Users/fabio/Desktop/test.py", line 3, in <module>
    import scipy as sp
ImportError: No module named scipy
logout

[Process completed]

where the source (test.py) contains just:

#!/usr/bin/python2.6

import scipy as sp

print "hello world"

Any clue?

Thanks

Fabio

http://www.velocityreviews.com/forums/t570137-textwrangler-and-new-python-version-mac.html
?
 
E

Ernest Obusek

I'm not a python expert, but you might trying running 'print sys.path' inside your script and run that from TextWrangler to see where it's looking for modules.

- Ernest


Hi to all,
I have troubles with TextWrangler "run" command in the "shebang" (#!)
menu.
I am on MacOSX 10.6.7.
I have the "built-in" Python2.5 which comes installed by "mother Apple".
Then I installed Python2.6, and left 2.5 untouched (I was suggested to
leave it on the system, since "something might need it").

I ran the "Update Shell Profile.command", and now if I launch "python"
in the terminal it happily launches the 2.6 version.
Then I installed some libraries (scipy and matplotlib) on this newer 2.6
version.
They work, and everything is fine.

Then, I started to use TexWrangler, and I wanted to use the "shebang"
menu, and "run" command.
I have the "#! first line" pointing to the 2.6 version.
It works fine, as long as I don't import the libraries, in which case it
casts an error saying:

ImportError: No module named scipy

Maybe for some reason it points to the old 2.5 version.
But I might be wrong and the problem is another...

I copy here the first lines in the terminal window if i give the "run in
terminal" command

Last login: Thu Apr 14 22:38:26 on ttys000
Fabio-Mac:~ fabio$
/var/folders/BS/BSS71XvjFKiJPH3Wqtx90k+++TM/-Tmp-/Cleanup\ At\
Startup/untitled\ text-324506443.860.command ; exit;
Traceback (most recent call last):
File "/Users/fabio/Desktop/test.py", line 3, in <module>
import scipy as sp
ImportError: No module named scipy
logout

[Process completed]

where the source (test.py) contains just:

#!/usr/bin/python2.6

import scipy as sp

print "hello world"

Any clue?

Thanks

Fabio

http://www.velocityreviews.com/forums/t570137-textwrangler-and-new-python-version-mac.html
?
 
B

Brian Blais

Hello Fabio You have two versions of 2.6 on your system.

I have the "built-in" Python2.5 which comes installed by "mother Apple".


My OSX comes with 2.3, 2.5, and 2.6. :) These are under:

/System/Library/Frameworks/Python.framework/Versions/
^^^^^^^^^

the ones you installed are under:

/Library/Frameworks/Python.framework/Versions/

I can reproduce this problem on my system, because /usr/bin/python2.6 points to the system version. There is an easy solution:

#!/usr/bin/env python

will work, or,

#!/usr/local/bin/python

it's better to use the former, as it will work even as you change versions, etc... You should avoid using the shebang with a *specific* python version. just use #!/usr/bin/env python



bb
 
F

Fabio

Ernest Obusek said:
I'm not a python expert, but you might trying running 'print sys.path' inside
your script and run that from TextWrangler to see where it's looking for
modules.

- Ernest




Hi Ernst, Hi Brian,
Thank you for your answers!
With the "#!/usr/bin/env python" shebang line now it works!
I also had more insights running "print sys.path".

I still have to understand how comes, even with this "env trick"
TextWrangler isn't able to "find the libraries" if I run a script "in
TextWrangler". It only works fine if I use the "Run in Terminal" method.
Do you have more details about how TextWrangler manages these commands?
Which are its defalut locations?

Cheers,

Fabio
Hi to all,
I have troubles with TextWrangler "run" command in the "shebang" (#!)
menu.
I am on MacOSX 10.6.7.
I have the "built-in" Python2.5 which comes installed by "mother Apple".
Then I installed Python2.6, and left 2.5 untouched (I was suggested to
leave it on the system, since "something might need it").

I ran the "Update Shell Profile.command", and now if I launch "python"
in the terminal it happily launches the 2.6 version.
Then I installed some libraries (scipy and matplotlib) on this newer 2.6
version.
They work, and everything is fine.

Then, I started to use TexWrangler, and I wanted to use the "shebang"
menu, and "run" command.
I have the "#! first line" pointing to the 2.6 version.
It works fine, as long as I don't import the libraries, in which case it
casts an error saying:

ImportError: No module named scipy

Maybe for some reason it points to the old 2.5 version.
But I might be wrong and the problem is another...

I copy here the first lines in the terminal window if i give the "run in
terminal" command

Last login: Thu Apr 14 22:38:26 on ttys000
Fabio-Mac:~ fabio$
/var/folders/BS/BSS71XvjFKiJPH3Wqtx90k+++TM/-Tmp-/Cleanup\ At\
Startup/untitled\ text-324506443.860.command ; exit;
Traceback (most recent call last):
File "/Users/fabio/Desktop/test.py", line 3, in <module>
import scipy as sp
ImportError: No module named scipy
logout

[Process completed]

where the source (test.py) contains just:

#!/usr/bin/python2.6

import scipy as sp

print "hello world"

Any clue?

Thanks

Fabio

http://www.velocityreviews.com/forums/t570137-textwrangler-and-new-python-ve
rsion-mac.html
?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top