如何在Mac OsX.6中强制单个终端会话使用Python 2.6_64位?
我正在尝试运行一个生物信息学程序叫做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
我在这里和OSX的Python手册上看到,64位的安装应该是默认可用的,但在我这似乎并不是这样。我还在用32位的安装做其他事情,不想让64位成为默认的。那我该如何在运行这个程序时强制使用这个安装呢?
编辑,回应@duskwuff: 我尝试了所有这些方法,但仍然出现同样的错误——除了第二个选项,它告诉我x86_64不在我的PATH中。我在标准安装后,PATH中确实有一个仅64位的安装(看起来是这样的):
#Setting PATH for MacPython 2.6_64
PATH="/usr/local/bin:/usr/local/sbin:/usr/local/bin/python:${PATH}"
export PATH
我知道这个版本实际上是64位的,因为如果我直接从/usr/local/bin启动Python,按照这里描述的测试:http://asmeurersympy.wordpress.com/2009/11/13/how-to-get-both-32-bit/,结果是64位的。我在学习的过程中还很早——谢谢大家的帮助!
2 个回答
你可以修改 stampy.py
文件,让它直接使用系统里的 Python 2.6。比如,如果在这个脚本里(在开头的那一行或者其他地方)有提到 /usr/bin/env python
,你可以把它改成 /usr/bin/python2.6
。
这里有几种解决方案:
你可以用
arch
命令来运行stampy.py
:arch -x86_64 ./stampy.py -G ...
你也可以通过
python
和arch
来运行stampy.py
: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。