2012-07-24 73 views
4

我試圖讓我的應用程序移植到64位Python。在我的64位Windows 7工作站(使用E8600 Core 2 Duo)上一切正常,但是當我嘗試在Windows Server 2008上執行相同的Python 2.7.2 64位程序(存儲在網絡位置中)時與至強X5680高性能計算系統,它立即失敗(不考慮通過一個源文件或不)與一個對話框,上面寫着:Python 64位無法在Windows上正確啓動(0xc00000cc)HPC

「應用程序無法正常啓動(0xc00000cc)單擊確定關閉應用程序。 「

我認爲這兩個處理器應該支持x86-64指令集,所以我很驚訝它不會「正常工作」。 Looking up the error code from Microsoft,我發現它的意思是「{找不到網絡名稱}在遠程服務器上找不到指定的共享名稱。」它在說什麼?我試圖將Python 64位安裝複製到本地驅動器,但它提供了與網絡相關的錯誤。

我該如何解決這個問題?我是否有一些固有的不兼容性? 32位Python在我的工作站和HPC節點上都能很好地工作。我寧願不必重新編譯HPC節點上的所有內容。

謝謝。

+0

恕我直言,這是您的服務器上的網絡區域的限制。嘗試使用Process Monitor記錄文件活動以確保?或者,可能是網絡路徑真的不可用?你試圖執行什麼命令? – Maximus 2012-07-24 21:00:15

+0

在節點上安裝新的64位python可以正常工作。但是複製安裝在工作站上的版本不會。如果我將節點上安裝的版本複製到工作站,那麼它工作。所以從Windows 7到羣集的xcopy部署出現問題。怎麼會這樣? – partofthething 2012-07-24 22:53:08

+0

Windows通常會限制運行可執行文件或從網絡共享加載庫(顯然是因爲您不控制遠程驅動器的內容而導致安全性問題)。也許你可以說服你的系統管理員解除限制或在每個節點上安裝Python。然後可以使用本地解釋器及其庫,並且不會從網絡加載可執行文件或庫。 – 2012-07-27 07:45:52

回答

2

@partofthething,根據您的評論,我不確定您的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文件是錯誤的架構 -我不能(沒有足夠的耐心),以獲得安裝了Python 2.7.2,但我能得到的Python 2.7.8失敗,一個更合理的錯誤0xc000007b(STATUS_INVALID_IMAGE_FORMAT)通過強制它使用32位DLL與64位Python。

+0

我認爲你是對的,一旦我將dob的gobs複製到共享驅動器上的python文件夾中,最終會發揮作用。 – partofthething 2017-05-13 04:44:29

相關問題