我正在尝试将我的应用程序移植到64位python。在我的64位Windows7工作站(带有一个E8600 Core2Duo)上一切正常,但是当我尝试在带有XeonX5680的WindowsServer2008HPC系统上执行相同的Python2.7.2 64位程序(存储在一个网络位置)时,它会立即失败(无论传递一个源文件是什么或不)显示一个对话框,内容如下:
“应用程序无法正确启动(0xC00000cc)。单击“确定”关闭应用程序。“
我认为这两个处理器都应该支持x86-64指令集,所以我很惊讶它不能“正常工作”。Looking up the error code from Microsoft,我发现它意味着“{network name not found}在远程服务器上找不到指定的共享名。”这是什么意思?我试过将python 64位安装复制到本地驱动器,但它也会产生与网络相关的错误。
我该怎么解决?是否有一些内在的不相容,我错过了。32位python在我的工作站和hpc节点上都工作得很好。我希望不必重新编译hpc节点上的所有内容。
谢谢。

最佳答案

@部分原因是,根据您的评论,我不确定您的xcopy有多大,但可能您丢失了一些python dll。
例如,如果使用标准的python安装程序,并且python已安装C:\Python27,则还应具有C:\Windows\System32\python27.dllC:\Windows\SysWOW64\python27.dll。您可以将这些文件复制到python安装的根目录,然后从网络驱动器运行,而不会出现任何问题,否则将在C:\Windows\*位置发现它们。
无论发生什么,上面的方法都应该有效,但我对可能发生的事情有一些理论:
您可能选择了一个非标准的安装目录—这没有多大意义,但它可能以某种方式在您复制到网络的python中表示(即,您安装在C:\Python27-64中,而hpc服务器上不存在)。
dll完全丢失了-我怀疑它们是否丢失了,因为这样您就应该得到这样的消息:
程序无法启动,因为计算机中缺少python27.dll。请尝试重新安装程序以解决此问题。
DLL是错误的体系结构—我无法(没有足够的耐心)安装Python2.7.2,但我通过强制Python2.7.8使用32位DLL和64位Python,使其失败,并出现更明显的错误0xc000007b(STATUS_INVALID_IMAGE_FORMAT)。

07-24 18:59
查看更多