4

アプリケーションを64ビットPythonに移植しようとしています。64ビットのWindows7ワークステーション(E8600 Core 2 Duoを使用)ではすべて正常に動作しますが、WindowsServer2008で同じPython2.7.264ビットプログラム(ネットワーク上の場所に保存されている)を実行しようとすると、 Xeon X5680を搭載したHPCシステムでは、(ソースファイルを渡すかどうかに関係なく)すぐに失敗し、次のようなダイアログボックスが表示されます。

「アプリケーションを正しく起動できませんでした(0xc00000cc)。[OK]をクリックしてアプリケーションを閉じてください。」

これらのプロセッサは両方ともx86-64命令セットをサポートする必要があると思うので、「正しく機能しない」ことに驚いています。Microsoftのエラーコードを調べたところ、「{ネットワーク名が見つかりません}指定された共有名がリモートサーバーで見つかりません」という意味であることがわかりました。それは何について話しているのですか?Python 64ビットインストールをローカルドライブにコピーしようとしましたが、同じネットワーク関連のエラーが発生します。

どうすればこれを修正できますか?私が見逃している固有の非互換性はありますか?32ビットPythonは、私のワークステーションとHPCノードの両方で完全に機能します。HPCノードですべてを再コンパイルする必要はありません。

ありがとう。

4

1 に答える 1

2

@ partofthething、あなたのコメントに基づいて、あなたxcopyがどれほど広範であったかはわかりませんが、いくつかのPythonDLLが欠落している可能性があります。

たとえば、標準のPythonインストーラーを使用していて、Pythonがインストールされている場合は、、、またはC:\Python27も必要です。これらをPythonインストールのルートディレクトリにコピーして、問題なくネットワークドライブから実行できますが、それ以外の場合は、その場所で検出できます。C:\Windows\System32\python27.dllC:\Windows\SysWOW64\python27.dllC:\Windows\*

上記は何があっても機能するはずですが、私は何が起こったのかについていくつかの理論を持っています:

  • 非標準のインストールディレクトリを選択した可能性があります- これはあまり意味がありませんが、ネットワークにコピーしているPythonで何らかの形で表されている可能性があります(つまり、にインストールされC:\Python27-64ていて、 HPCサーバー)。

  • DLLが完全に欠落していました-DLLが欠落しているのではないかと疑っています。そうすると、次のようなメッセージが表示されるはずです。

    コンピュータにpython27.dllがないため、プログラムを起動できませんでした。この問題を解決するには、プログラムを再インストールしてみてください。

  • DLLは間違ったアーキテクチャでした-Python2.7.2をインストールすることができませんでした(十分な忍耐力がありませんでした)が、強制することでPython 2.7.8を失敗させ、より賢明なエラー0xc000007b(STATUS_INVALID_IMAGE_FORMAT)で失敗させることができました64ビットPythonで32ビットDLLを使用します。

于 2014-12-05T19:40:01.350 に答える