pandaSeq
pandaSeq

Reputation: 213

how to force use of python 2.6_64bit in Mac OsX.6 for a single shell session?

I'm trying to run the bioinformatics program Stampy, which requires the 64-bit installation of python 2.6. I can launch the 64-bit installation by typing

arch -x86_64 /usr/bin/python2.6

but when I run a Stampy command from within the shell, eg:

./stampy.py -G c_elegans.WS225.dna.fa

I get the following error:

Stampy requires a 64-bit Python install to run; 32-bit installations are not supported

I read here and on the OSX python manpage that the 64-bit installation should be available by default, but that doesn't seem to be the case here. I use the 32-bit installation for other things and don't want 64-bit to be the default. How can I force the use of this installation only when I am running this program?

Edit in response to @duskwuff: I just tried all of these, which continue to give me the same error - except for the second option, which tells me x86_64 is not in my PATH. I have a 64-bit only installation in my PATH after the standard installation (looks like this):

#Setting PATH for MacPython 2.6_64
PATH="/usr/local/bin:/usr/local/sbin:/usr/local/bin/python:${PATH}"
export PATH

I know this version is actually 64-bit because if I launch python directly from within /usr/local/bin, the tests described here: http://asmeurersympy.wordpress.com/2009/11/13/how-to-get-both-32-bit/ give the 64-bit results. I'm still very early in this learning curve - thanks for the help!

Upvotes: 1

Views: 988

Answers (2)

Ned Deily
Ned Deily

Reputation: 85055

You could edit stampy.py to directly invoke the system Python 2.6. For instance, if there is a reference within the script (in the shebang line or elsewhere) to /usr/bin/env python, change it to /usr/bin/python2.6.

Upvotes: 1

user149341
user149341

Reputation:

There's a few solutions:

  • You can run stampy.py with arch:

    arch -x86_64 ./stampy.py -G ...
    
  • You can run stampy.py via python with arch:

    arch -x86_64 python stampy.py -G ...
    
  • You can use the VERSIONER_PYTHON_PREFER_32_BIT environment variable:

    VERSIONER_PYTHON_PREFER_32_BIT=yes ./stampy.py -G ...
    
  • You can set that variable for everything in the session:

    export VERSIONER_PYTHON_PREFER_32_BIT=yes
    ./stampy.py -G ...
    

Note also that Mac OS Lion (10.7) uses 64-bit Perl/Python by default.

Upvotes: 4

Related Questions