努伊特卡 Windows
Nuitka on Windows
在 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。
好的,为了任何有同样错误的人的利益,这里是我自己的问题的答案:
我未能让 MinGW 工作。我最终安装了 MSVC2010。这可能更好,因为它被推荐用于 Windows 上的 Python 3.4(参见:https://docs.python.org/3.4/using/windows.html#compiling-python-on-windows)。
以下是使用 python 3.4 和 MSVC++2010 和 Win7 64 位安装 Nuitka 的说明:
MSVC2010 的其他有用说明如下:
1。 https://wiki.qt.io/How_to_setup_MSVC2010
2。 http://uk.mathworks.com/matlabcentral/answers/95039-why-does-the-sdk-7-1-installation-fail-with-an-installation-failed-message-on-my-windows-system
步骤是:
安装 .net 4.x:
运行dotNetFx40_Full_setup.exe(来自http://www.microsoft.com/en-gb/download/confirmation.aspx?id=17851)
安装 Visual C++ 2010 Express:
运行vc_web.exe(来自http://microsoft-visual-cpp-express.soft32.com/download/file/id/795918/?no_download_manager=true)
UN-安装任何 Visual C++ 2010 runtime/redistributable 更新或等于 10.0.30319.
(在我的例子中我为这个设置安装了一个干净的windows,所以没有什么可删除的)
安装 Windows SDK 7.1:(select 所有安装选项)
运行winsdk_web.exe(来自https://www.microsoft.com/en-us/download/details.aspx?id=8279)
安装 VS 2010 SP1:
运行 VS10sp1-KB983509.exe(来自http://www.microsoft.com/en-au/download/details.aspx?id=23691)
安装 MSVC 2010 SP1 编译器更新:
运行 VC-编译器-KB2519277.exe(来自http://www.microsoft.com/en-au/download/details.aspx?id=4422)
C 编译器现已安装。
在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
设置环境:
运行"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall"amd64
执行上述命令后,控制台文本应变为黄色。
(请参阅此处了解除 amd64 以外的选项:https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx)
编译测试程序:(在cmd文本仍然是黄色的时候执行此操作)
cl hello.c
(假设你的测试程序叫做hello.c)
运行 测试程序:
hello.exe
C 编译器现已测试。
安装 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)
安装 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)
安装 Nuitka:(总是更新版本所以最好检查 http://nuitka.net/pages/download.html)
运行 Nuitka-5.1.143.win-amd64.py34.msi(来自http://nuitka.net/releases/Nuitka-5.1.143.win-amd64.py34.msi)
所有安装现已完成!
- 测试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 时,它给出了这样的通知:"Nuitka will make use of Dependency Walker (http://dependencywalker.com) tool to analyze the dependencies of Python extension modules. Is it OK to download and put it in APPDATA (no installer needed, cached, one time question). Proceed and download? [Yes]/No"。我答应了,然后 hello world 程序就成功了。
Hello world 在此过程后工作,但一些导入更复杂的程序会导致警告。当我弄清楚时,将编辑我的答案。或者有不懂的再问。
在 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。
好的,为了任何有同样错误的人的利益,这里是我自己的问题的答案:
我未能让 MinGW 工作。我最终安装了 MSVC2010。这可能更好,因为它被推荐用于 Windows 上的 Python 3.4(参见:https://docs.python.org/3.4/using/windows.html#compiling-python-on-windows)。
以下是使用 python 3.4 和 MSVC++2010 和 Win7 64 位安装 Nuitka 的说明:
MSVC2010 的其他有用说明如下:
1。 https://wiki.qt.io/How_to_setup_MSVC2010
2。 http://uk.mathworks.com/matlabcentral/answers/95039-why-does-the-sdk-7-1-installation-fail-with-an-installation-failed-message-on-my-windows-system
步骤是:
安装 .net 4.x:
运行dotNetFx40_Full_setup.exe(来自http://www.microsoft.com/en-gb/download/confirmation.aspx?id=17851)安装 Visual C++ 2010 Express:
运行vc_web.exe(来自http://microsoft-visual-cpp-express.soft32.com/download/file/id/795918/?no_download_manager=true)UN-安装任何 Visual C++ 2010 runtime/redistributable 更新或等于 10.0.30319.
(在我的例子中我为这个设置安装了一个干净的windows,所以没有什么可删除的)安装 Windows SDK 7.1:(select 所有安装选项)
运行winsdk_web.exe(来自https://www.microsoft.com/en-us/download/details.aspx?id=8279)安装 VS 2010 SP1:
运行 VS10sp1-KB983509.exe(来自http://www.microsoft.com/en-au/download/details.aspx?id=23691)安装 MSVC 2010 SP1 编译器更新:
运行 VC-编译器-KB2519277.exe(来自http://www.microsoft.com/en-au/download/details.aspx?id=4422)
C 编译器现已安装。
在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设置环境:
运行"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall"amd64
执行上述命令后,控制台文本应变为黄色。
(请参阅此处了解除 amd64 以外的选项:https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx)编译测试程序:(在cmd文本仍然是黄色的时候执行此操作)
cl hello.c
(假设你的测试程序叫做hello.c)运行 测试程序:
hello.exe
C 编译器现已测试。
安装 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)安装 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)安装 Nuitka:(总是更新版本所以最好检查 http://nuitka.net/pages/download.html)
运行 Nuitka-5.1.143.win-amd64.py34.msi(来自http://nuitka.net/releases/Nuitka-5.1.143.win-amd64.py34.msi)
所有安装现已完成!
- 测试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 时,它给出了这样的通知:"Nuitka will make use of Dependency Walker (http://dependencywalker.com) tool to analyze the dependencies of Python extension modules. Is it OK to download and put it in APPDATA (no installer needed, cached, one time question). Proceed and download? [Yes]/No"。我答应了,然后 hello world 程序就成功了。
Hello world 在此过程后工作,但一些导入更复杂的程序会导致警告。当我弄清楚时,将编辑我的答案。或者有不懂的再问。