Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用第三方库的Python部署_Python_Windows_Python 2.7_Deployment_Exe - Fatal编程技术网

使用第三方库的Python部署

使用第三方库的Python部署,python,windows,python-2.7,deployment,exe,Python,Windows,Python 2.7,Deployment,Exe,我想从python2.7项目中部署一个可执行文件(.exe),包括所有内容。我看过pyinstaller和py2exe,但问题是我的项目使用了很多默认不支持的第三方软件包。对于这种情况,最好的选择是什么?是否有其他可以使用的分发包装机 谢谢如果安装了可执行文件创建软件包,它们应该能够获取第三方软件包。有时,如果库滥用Python的导入系统,或者它不是“纯Python”包,则必须指定要包含的内容。例如,有时我必须特别包括lxml,以使py2exe正确地拾取它 python2的py2exe项目已经很

我想从python2.7项目中部署一个可执行文件(.exe),包括所有内容。我看过pyinstaller和py2exe,但问题是我的项目使用了很多默认不支持的第三方软件包。对于这种情况,最好的选择是什么?是否有其他可以使用的分发包装机


谢谢

如果安装了可执行文件创建软件包,它们应该能够获取第三方软件包。有时,如果库滥用Python的导入系统,或者它不是“纯Python”包,则必须指定要包含的内容。例如,有时我必须特别包括lxml,以使py2exe正确地拾取它

python2的py2exe项目已经很长时间没有更新了,所以我肯定会推荐一种替代方案:PyInstaller、cx\u freeze或bb\u freeze


我只看到在使用非纯Python软件包(如wxPython)时,MSVCP90.dll出现了问题。通常,您可以将其添加到
setup.py
中以包含它。如果这不起作用,那么您还可以使用NSIS之类的安装工具添加它。或者你可能不得不在你的自述中声明你的应用程序依赖微软的C++可重新分配并包含一个链接。

PyInstaller和Py2EXE实际上非常擅长包装所有的东西。“默认情况下不支持的第三方库”是什么意思?对不起,我指的是像这样的包。哪种情况更容易发生?而且MSVCP90.dll也不会给我错误?如果一个包没有列在“SupportedPackages”下面,这并不意味着PyInstaller一定会失败。因此,你最好的办法是尝试,看看它是如何工作的,如果出于某种原因,它没有工作,那么就研究一下特定的错误,也许在相应的社区中讨论它。py2exe和PyInstaller都很好,因此选择取决于个人喜好(我记得我更喜欢后者)。我不知道您所说的“MSVCP90.dll错误”是什么意思。它一定是一个非常特殊、复杂或非标准的包,pyinstaller无法自动处理它。计算和打包Python程序的依赖关系正是pyinstaller的领域。在过去,我在重新打包(大的或不寻常的)依赖项时遇到了一些pyinstaller故障,但是没有什么是不能通过稍微调整来帮助的。MSVCP90.dll-这不是某个VC++运行时吗?