

以下の記事を参考に、PythonをNuitkaを使ってexeにしたいと思っています。  
[KivyのGUIアプリをNuitkaで簡単に小サイズ・高速に動く実行ファイル(exe)にする(Windows10)](https://qiita.com/eleven-
junichi2/items/e7f2d899d1014167f8bc)

以下のコマンドを実行するとエラーが出ます。

[code]

    nuitka --recurse-none main.py
    
[/code]

エラー内容は以下の通りです。

[code]

    scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
    File "C:\Users\taichi\Anaconda3\lib\site-packages\nuitka\build\SingleExe.scons", line 499, in createEnvironment
    Error, cannot locate suitable C compiler. You have the following options:
    
    a) If a suitable Visual Studio version is installed, it will not be located
       automatically, unless you install pywin32 for the Python installation
       below "C:\Users\taichi\Anaconda3".
    
    b) To make it find Visual Studio without registry execute from Start Menu
       the 'Visual Studio Command Prompt' or "vcvarsall.bat". That will add
       Visual Studio to the "PATH". And it then will be detected.
    
    c) Install MinGW64 to "C:\MinGW64" or "\MinGW", where then it is automatically
       detected or add it to PATH before executing Nuitka. But be sure to pick the
       proper variant (32/64 bits, your Python arch is 'x86_64'), or else cryptic errors
       will be shown.
    
    Normal MinGW will not work! MinGW64 does not mean 64 bits, just better
    Windows compatibility.
    Cygwin based gcc will not work.
    MSYS2 based gcc will not work.
    
[/code]

AnacondaPromptで実行をしています。  
Pythonのバージョンは3.7です。

a)のメッセージで、pywin32をインストールしてくださいと書かれているので、AnacondaPrompt上で、

[code]

    pip install pywin32
    
[/code]

としてインストールしました。結果は以下のように表示されています。

[code]

    Requirement already satisfied: pywin32 in c:\users\taichi\anaconda3\lib\site-packages (223)
    
[/code]

インストールはできているように見えるのですが、再度nuitkaを実行しても変化はありませんでした。

b)の、Visual Studio 2017もインストールされています。しかし、スタートメニューで検索しても、'Visual Studio Command
Prompt'や、"vcvarsall.bat"は見つかりませんでした。

これらの問題は、どうしたら解決するのでしょうか…？


CC BY-SA 4.0
2020-08-07T17:57:00.183
69346
2020-08-08T05:01:04.013
34471
question
python anaconda
NuitkaでPythonをCに変換しようとすると、Cコンパイラが見つからないと言われる


スタートメニューには'Visual Studio Command Prompt'、"vcvarsall.bat"の名前では出ていません。  
こちらの記事を参照して、使っているPythonの32bit/64bitに合わせて起動してください。

'Visual Studio Command Prompt'  
[方法: コマンド ラインで 64 ビットの x64 でホストされる MSVC
ツールセットを有効にする](https://docs.microsoft.com/ja-jp/cpp/build/how-to-
enable-a-64-bit-visual-cpp-toolset-on-the-command-line?view=vs-2017)  
このページの記述は VS 2019 になっているので、VS 2017 では少し違うかもしれません。  
以下のページの[開発者コマンド プロンプト ショートカット](https://docs.microsoft.com/ja-
jp/cpp/build/building-on-the-command-line?view=vs-2017#developer-command-
prompt-shortcuts)からすると、スタートメニューからは、x64またはx86で始まる Native Tools コマンドプロンプト
が該当しそうですが、今見たら何かしらの原因で表記が統一されず"VS 2017用 x64 Native Tools コマンドプロンプト"と"x86
Native Tools Command Prompt for VS 2017"になっていました。(Build Tools for Visual
Studio 2017もインストールしていたのでそれの影響かも)

"vcvarsall.bat"  
[コマンド ラインから Microsoft C++ ツールセットを使用する](https://docs.microsoft.com/ja-
jp/cpp/build/building-on-the-command-line?view=vs-2017) の [開発者コマンド
ファイルの場所](https://docs.microsoft.com/ja-jp/cpp/build/building-on-the-command-
line?view=vs-2017#developer-command-file-locations)  
こちらはスタートメニューには無いのでバッチファイルの場所を指定して実行する必要があるでしょう。

* * *

ちなみに Anaconda Prompt/仮想環境 の方もコマンドプロンプトから起動できます。  
[Anaconda
Promptの起動について調べる](https://qiita.com/int_main_void/items/9b54a28c91a530b58f64)

それを応用したこんな記事もあります。  
[Anaconda
Promptをバッチファイル化する](http://nprogram.hatenablog.com/entry/2019/11/06/064350)  
[バッチからanaconda環境を実行](https://panda-clip.com/anaconda-batch/)

* * *

どちらの環境を先に立ち上げて、その中でもう一つの環境設定を行うかは、組み合わせを試してみてください。

おそらく好みの問題で順番としてはどちらでも良いと思われますが、何らかの前提が必要で順番が決まっているのかもしれませんので。


CC BY-SA 4.0
2020-08-07T23:50:04.640
69350
2020-08-08T05:01:04.013
2020-08-08T05:01:04.013
26370
26370
69346
answer