Ron*_*Ron 5 mingw windows-7-x64 anaconda python-3.4 nuitka
在Windows上使用Nuitka编译hello-world.py时遇到问题.
我使用的命令是:
nuitka --standalone --portable --remove-output --recurse-all --python-version=3.4 hello_world.py
Run Code Online (Sandbox Code Playgroud)
错误是:
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)
Run Code Online (Sandbox Code Playgroud)
相同的代码在Linux上编译和运行正常.相同的代码在Windows上的解释器中运行良好.
错误消息中提到的文件确实存在.有什么建议?
使用Win7.Python 3.4(Anaconda 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 64bit安装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 -安装-失败-与安安装失败的消息,上我的窗口系统
步骤是:
安装.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)
联合安装任何Visual C++ 2010运行时/可再发行组件更新或等于10.0.30319.
(在我的情况下,我有一个干净的Windows安装此设置,所以没有什么可以删除)
安装Windows SDK 7.1 :(选择所有安装选项)
运行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-Compiler-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 :( Nuitka需要这个,即使python代码是3.x)
运行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/)版本/ Nuitka-5.1.143.win-amd64.py34.msi)
现在全部安装完成!
关于nuitka的第一次使用,它给出了这个通知:"Nuitka将使用Dependency Walker(http://dependencywalker.com)工具来分析Python扩展模块的依赖性.可以下载并将其放入APPDATA(没有安装程序需要,缓存,一次性问题.)继续下载?[是] /否".我说是,然后你好世界计划的工作.
Hello world在此过程之后工作,但在更复杂的程序上的一些导入会导致警告.当我想出那个时,我会编辑我的答案.如果我无法弄明白,或者会问另一个问题.
| 归档时间: |
|
| 查看次数: |
5568 次 |
| 最近记录: |