2011-02-06 42 views
2

我重新安装了python.org的官方DMG安装程序Python 2.7,因为我需要使用预编译的二进制文件, Python重新编译运行在64位对我来说太困难了,而不是一个选项)在OSX上从64位切换到32位Python后,Virtualenvs无法工作

它的工作,Python的Mac安装程序修复所有的链接,所以我的新Python安装是32位的,位,但我曾与64位的Python创建的所有的virtualenv不能使用Python了,这里是输出:

dyld: Library not loaded: @executable_path/../.Python 
Referenced from: /Users/dom/django/.virtualenvs/lepoc/bin/python 
Reason: no suitable image found. Did find: 
/Users/dom/django/.virtualenvs/lepoc/bin/../.Python: no matching architecture in universal wrapper 
/Users/dom/django/.virtualenvs/lepoc/bin/../.Python: no matching architecture in universal wrapper 
Trace/BPT trap 

是否有可能的修复(如重新链接的东西)还是我必须重新创建所有我的virtualenv?

回答

3

我会重新创建它们。 bin文件夹中的“python”可执行文件是可执行文件,可能特定于您的体系结构和/或python二进制文件。您可以保存所有已安装Python包,并使用PIP重新安装在新的虚拟环境:

pip freeze -E lepoc > requirements.txt 
pip install -E newve -r /path/to/pip-requirements.txt 

参见http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django/

+0

哼哼,这就是想什么我避免......而且,我不能因为python不可用,所以即使调用`pip freeze` ... – 2011-02-06 19:05:25