AnacondaPython32bit正在尝试加载Anaconda64位库

2024-05-13 04:25:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用windows764位,并尝试在同一个系统上同时使用Anaconda Python 64位和32位发行版。在

我希望能够构建Windows的32位可执行文件以供分发(使用py2exe),这需要使用32位python解释器。我以前在C:\Anaconda中安装了64位的Anaconda Python。我现在已经将32位Anaconda Python发行版安装到C:\Anaconda32。但是,当我试图从C:\Anaconda32运行python解释器时\python.exe,它正在将64位环境加载到搜索路径. 结果是许多库调用失败是因为32位进程尝试执行64位库(我认为)。在

我还试着编辑命令行.exe会话只包含C:\Anaconda32和C:\Anaconda32\Scripts。在

结果如下:

C:\Anaconda32>echo %path%
C:\Anaconda32;C:\Anaconda32\Scripts

C:\Anaconda32>python.exe
Python 2.7.7 |Anaconda 2.0.1 (64-bit)| (default, Jun 11 2014, 10:41:43) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> import sys
>>> sys.executable
'C:\\Anaconda32\\python.exe'
>>> sys.path
['', 'C:\\Anaconda32\\python27.zip', 'C:\\Anaconda\\DLLs', 'C:\\Anaconda\\lib', 'C:\\Anaconda\\lib\\plat-win', 'C:\\Anaconda\\lib\\lib-tk', 'C:\\Anaco
nda32', 'C:\\Anaconda', 'C:\\Anaconda\\lib\\site-packages', 'C:\\Anaconda\\lib\\site-packages\\PIL', 'C:\\Anaconda\\lib\\site-packages\\win32', 'C:\\A
naconda\\lib\\site-packages\\win32\\lib', 'C:\\Anaconda\\lib\\site-packages\\Pythonwin', 'C:\\Anaconda\\lib\\site-packages\\runipy-0.1.0-py2.7.egg', '
C:\\Anaconda\\lib\\site-packages\\setuptools-3.6-py2.7.egg']
>>>

问题是C:\Anaconda\DLLsC:\Anaconda\lib等。这些应该是C:\Anaconda32\*。。。在

我还想指出的是,虽然它在那一行后面说Anaconda 2.0.1 (64-bit),但它有一个编译器信息:[MSC v.1500 32 bit (Intel)],这表示一个32位的解释器正在运行。对sys.executable的调用也表明正确的解释器正在运行。在

这是尝试加载大多数模块时的结果:

^{pr2}$

ImportError: DLL load failed: %1 is not a valid Win32 application.是当我相信从32位解释器加载64位编译模块时发生的情况。在

如何为32位设置环境,以便加载32位库?我希望我的64位主安装不受影响(当我键入python时保持默认值)

谢谢!在

编辑

This site显示了一个32位Anaconda2.0.1解释器的示例。。。在

Python 2.7.7 |Anaconda 2.0.1 (32-bit)| (default, Jun 11 2014, 10:41:43) [MSC v.1500 32 bit (Intel)]

所以事实上我有|Anaconda 2.0.1 (64-bit)|和{}意味着有些事情是非常错误的。。。在


Tags: 编辑环境libpackagessysbitsiteanaconda
1条回答
网友
1楼 · 发布于 2024-05-13 04:25:06

我相信我的PYTHONHOME环境变量被设置为C:\Anaconda(64位安装)。当我试图运行C:\Anaconda32时\python.exe,它看到PYTHONHOME变量,并尝试将该目录用作从中加载库的位置。这在Python文档here中有解释。在

通过删除PYTHONHOME,我可以同时运行32位和64位的Anaconda。在命令提示符下键入python时,将自动运行路径中最先出现的任何一个。当我打开任何一个解释器时,我得到正确的版本和位信息,它们加载正确的库。另外,由于我选择在安装期间将每个都设置为默认的python,因此设置了32位和64位python注册表项,从而允许安装程序查找相应的安装。在

如果您想并行使用Python的多个版本,我建议您删除PYTHONHOME和PYTHONPATH,如果您不需要它们来避免不同安装之间的环境冲突。我可能错了,但这似乎解决了我的问题。在

为了完全明确,我安装到C:\Anaconda32和C:\Anaconda64。这样,如果我只看到C:\Anaconda的任何东西,我就知道它是不正确的。在

相关问题 更多 >