Как заставить использование Python 2.6_64bit в Mac OsX.6 для одного сеанса оболочки? - PullRequest
1 голос
/ 19 сентября 2011

Я пытаюсь запустить программу биоинформатики Stampy, которая требует 64-битной установки Python 2.6.Я могу запустить 64-битную установку, набрав

arch -x86_64 /usr/bin/python2.6

, но когда я запускаю команду Stampy из оболочки, например:

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

, я получаю следующую ошибку:

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

Я читал здесь и на man-странице OSX python, что 64-битная установка должна быть доступна по умолчанию, но здесь это не так.Я использую 32-битную установку для других целей и не хочу, чтобы 64-битная версия использовалась по умолчанию.Как я могу принудительно использовать эту установку, только когда я запускаю эту программу?

Редактировать в ответ на @duskwuff: я только что попробовал все из них, которые продолжают давать мне ту же ошибку - за исключением второгоопция, которая говорит мне, что x86_64 не в моем PATH.У меня установлена ​​только 64-битная установка в моем PATH после стандартной установки (выглядит следующим образом):

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

Я знаю, что эта версия на самом деле 64-битная, потому что если я запускаю python непосредственно из / usr /local / bin, тесты, описанные здесь: http://asmeurersympy.wordpress.com/2009/11/13/how-to-get-both-32-bit/ дают 64-битные результаты.Я еще очень рано на этой кривой обучения - спасибо за помощь!

Ответы [ 2 ]

4 голосов
/ 19 сентября 2011

Есть несколько решений:

  • Вы можете запустить stampy.py с arch:

    arch -x86_64 ./stampy.py -G ...
    
  • Вы можете запустить stampy.py через python с arch:

    arch -x86_64 python stampy.py -G ...
    
  • Вы можете использовать переменную окружения VERSIONER_PYTHON_PREFER_32_BIT:

    VERSIONER_PYTHON_PREFER_32_BIT=yes ./stampy.py -G ...
    
  • Вы можете установить эту переменную для всего в сеансе:

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

Обратите внимание, что Mac OS Lion (10.7) по умолчанию использует 64-битный Perl / Python.

1 голос
/ 20 сентября 2011

Вы можете редактировать stampy.py, чтобы напрямую вызывать систему Python 2.6.Например, если в скрипте есть ссылка (в строке shebang или где-либо еще) на /usr/bin/env python, измените ее на /usr/bin/python2.6.

...