如何在Mac OsX.6中强制单个终端会话使用Python 2.6_64位?

1 投票
2 回答
981 浏览
提问于 2025-04-17 02:37

我正在尝试运行一个生物信息学程序叫做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 个回答

1

你可以修改 stampy.py 文件,让它直接使用系统里的 Python 2.6。比如,如果在这个脚本里(在开头的那一行或者其他地方)有提到 /usr/bin/env python,你可以把它改成 /usr/bin/python2.6

4

这里有几种解决方案:

  • 你可以用 arch 命令来运行 stampy.py

    arch -x86_64 ./stampy.py -G ...
    
  • 你也可以通过 pythonarch 来运行 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。

撰写回答