6

Windows で Nuitka を使用して hello-world.py をコンパイルする際に問題が発生しました。

私が使用しているコマンドは次のとおりです。

nuitka --standalone --portable --remove-output --recurse-all --python-version=3.4 hello_world.py

エラーは次のとおりです。

WindowsError: [Error 2] The system cannot find the file specified:
File "C:\Users\win_user\Anaconda3\Lib\site-packages\nuitka\build\SingleExe.scons", line 866:
shell       = False
File "c:\Python27\lib\subprocess.py", line 709:
errread, errwrite)
File "c:\Python27\lib\subprocess.py", line 957:
startupinfo)

同じコードが Linux でコンパイルおよび実行されます。同じコードは、Windows のインタープリターで正常に実行されます。

エラー メッセージに記載されているファイルは実際に存在します。助言がありますか?

Win7を使用。Python 3.4 (アナコンダ x64)。MinGW を使用します。

4

1 に答える 1

9

OK、同じエラーを抱えている人の利益のために、ここに私自身の質問への答えがあります:

MinGW を動作させることができませんでした。最終的に、代わりに MSVC2010 をインストールしました。とにかくWindows上のPython 3.4に推奨されているため、これはおそらくより良いでしょう(https://docs.python.org/3.4/using/windows.html#compiling-python-on-windowsを参照)。

以下は、MSVC++2010 および Win7 64 ビットで Python 3.4 を使用して Nuitka をインストールする手順です。

MSVC2010に関するその他の役立つ手順は次のとおりです。
1. https://wiki.qt.io/How_to_setup_MSVC2010 -installation-fail-with-an-installation-failed-message-on-my-windows-system

手順は次のとおりです。

  1. .net 4.x をインストールします。dotNetFx40_Full_setup.exe
    を実行します( http://www.microsoft.com/en-gb/download/confirmation.aspx?id=17851から) 。

  2. Visual C++ 2010 Express をインストールします。vc_web.exe
    を実行します( http://microsoft-visual-cpp-express.soft32.com/download/file/id/795918/?no_download_manager=trueから) 。

  3. UN - 10.0.30319 以降の Visual C++ 2010 ランタイム/再頒布可能パッケージをインストールします。
    (私の場合、このセットアップ用に Windows をクリーン インストールしたので、削除するものは何もありませんでした)

  4. Windows SDK 7.1 をインストールします。(すべてのインストール オプションを選択して) winsdk_web.exe
    を実行します( https://www.microsoft.com/en-us/download/details.aspx?id=8279から) 。

  5. VS 2010 SP1 をインストールします。VS10sp1-KB983509.exe
    を実行します( http://www.microsoft.com/en-au/download/details.aspx?id=23691から) 。

  6. MSVC 2010 SP1 Compiler Update をインストールします。VC-Compiler-KB2519277.exe を
    実行します( http://www.microsoft.com/en-au/download/details.aspx?id=4422から) 。

Cコンパイラがインストールされました。

  1. 64 ビット マシンでテストするには、手動で作成する必要があるファイルが見つからないことがわかりました。(ここを参照してください: http://www.w7forums.com/threads/vcvarsall-bat-no-64bit-support-vcvars64-bat-missing.6606/ )
    修正するには、次のファイルを作成します: C:\Program Files (x86) \Microsoft Visual Studio 10.0\vc\bin\amd64\vcvars64.bat ファイルにテキストCALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64を入力します。

  2. セットアップ環境: 「C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall」を実行します amd64
    上記 のコマンドの後、コンソールのテキストが黄色になります。 (amd64 以外のオプションについては、こちらを参照してください: https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx )

  3. テスト プログラムをコンパイルします: (cmd テキストがまだ黄色のときにこれを行います)
    cl hello.c (テスト プログラムの名前がhello.c
    であると仮定します)

  4. テスト プログラムを実行します:
    hello.exe

Cコンパイラがテストされました。

  1. Python 2.7 をインストールします: (Python コードが 3.x の場合でも、Nuitka にはこれが必要です) python-2.7.6.amd64.msi
    を実行します( https://www.python.org/ftp/python/2.7.6/python-から)。 2.7.6.amd64.msi )

  2. Python 3.4 をインストールします: (Anaconda スタックは、Windows でこれを取得する最も適切な方法のようです) Anaconda3-2.3.0-Windows-x86_64.exe を
    実行します( https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda3から) -2.3.0-Windows-x86_64.exe )

  3. Nuitka をインストールします: (新しいバージョンは常にhttp://nuitka.net/pages/download.htmlを確認してください) Nuitka-5.1.143.win-amd64.py34.msi を
    実行します( http://nuitka.net/から)リリース/Nuitka-5.1.143.win-amd64.py34.msi )

すべてのインストールが完了しました!

  1. テスト Nuitka: (テスト プログラムがhello.pyであると仮定)
    "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall" amd64
    nuitka --standalone --portable hello.py
    cd hello.dist
    hello.exe

nuitka の最初の使用時に、次の通知が表示さました。インストーラーが必要、キャッシュ、1 回限りの質問). 続行してダウンロードしますか? [はい]/いいえ". はいと言ったところ、Hello World プログラムが機能しました。

この手順の後、Hello world は機能しましたが、より複雑なプログラムでの一部のインポートでは警告が発生します。私がそれを理解したら、私の答えを編集します。または、わからない場合は別の質問をします。

于 2015-10-14T21:23:38.790 に答える