我有一些依赖于几个大库的小Python程序,例如:
我想让Windows用户更容易安装这些程序。目前我有两个选择:
可执行包太大了。我总觉得有些神奇的事情发生了,下次我使用不同的库或新的库版本时,这些可能会起作用,也可能不会起作用。我也不喜欢浪费空间。手动安装很容易出错,步骤太多了:下载这个特定的解释器版本,下载numpy、scipy、pyqt、pil二进制文件,确保它们都是为同一python版本和同一平台构建的,一个接一个安装,下载并解压OpenCV,复制它的.pyd文件到Python安装的深处,设置环境变量和文件关联。。。你看,很少有用户会有耐心和自信去做这一切。在
我想做的是:只分发一个小的Python源代码,可能还有一个安装脚本,它获取并安装所有丢失的依赖项(正确的版本、正确的平台、按照正确的顺序安装它们)。对于任何Linux包管理器来说,这都是一项微不足道的任务,但我不知道哪些工具可以在Windows上完成它。 有没有简单的工具可以从依赖URL的列表中生成Windows安装程序1?在
1正如您可能已经注意到的,我列出的大多数库都不能用pip/easy_install安装,而是需要运行自己的安装程序并修改一些文件和环境变量。
npackd存在http://code.google.com/p/windows-package-manager/它可以通过这里完成,也可以使用distribute(python3.x)或setuptools(python2.x)轻松安装,可能是pip(不知道它与windows兼容)。但我选择npackd是因为PyQt和pip/easy-install的不寻常设置(不能很好地使用它们,使用配置.py而不是设置.py). 不过,你必须为npackd创建自己的回购协议才能用于其中的一些交易。我忘了它对python库的贡献。在
既然没有工具(我猜你是谷歌搜索的),所以你必须自己做一个。在
使用python的ftplib获取适当的库版本似乎很简单,您可以为每个库获取适当的安装程序。你怎么知道哪个版本与用户的python兼容?您可以为不同的python版本存储不同的下载url列表(这个方法来自我的头脑,可能还有一个更好的方法;如果它简单并且有效,这并不重要)。在
在找到如何让每个安装程序运行之后,可以py2exe安装程序脚本,甚至可以使用它来获取程序本身。在
编辑
一些注意事项
就在我发帖时,我突然想起了几件事: 首先,一些伪代码(无论如何,我将如何处理它)
您可以做一些事情来使您的实用程序可重用
我和您有类似的需求,但除此之外,我还需要打包的应用程序在多个平台上工作。我目前正在探索当前可用的解决方案,以下是一些有趣的解决方案:
我会在这里更新,如果我发现一些东西填补我的账单。在
相关问题 更多 >
编程相关推荐