Python 如何向应用程序添加依赖项?

Python 如何向应用程序添加依赖项?,python,video,ffmpeg,dependencies,Python,Video,Ffmpeg,Dependencies,我目前正在开发一个名为SatStressGUI的应用程序,这是一个用Python编写的GUI应用程序,它是以前从事过该工作的实习生传给我的。它依赖于wxPython等依赖项(大多数人可能都知道,如果应用程序调用wxPython库,则必须在用户试图运行的应用程序正常运行之前将其安装在用户自己的计算机上)。在gitHub中,在contents->resources->lib->python2.5->sitepackages下,您将看到应用程序所依赖的所有库(例如,wxPython的名称为wx)都被复

我目前正在开发一个名为SatStressGUI的应用程序,这是一个用Python编写的GUI应用程序,它是以前从事过该工作的实习生传给我的。它依赖于wxPython等依赖项(大多数人可能都知道,如果应用程序调用wxPython库,则必须在用户试图运行的应用程序正常运行之前将其安装在用户自己的计算机上)。在gitHub中,在contents->resources->lib->python2.5->sitepackages下,您将看到应用程序所依赖的所有库(例如,wxPython的名称为wx)都被复制和粘贴。如果我是正确的,sitepackages中存在这些库,因此用户无需手动安装库,例如wxPython本身:用户只需在“克隆或下载”下下载整个包即可运行GUI应用程序在主页面中,运行位于contents->MacOS中的可执行文件。我相信在某个地方有一个文件,可能是boot.py(位于contents->resources中),上面写着:“嘿,在用户运行这个可执行文件之前,请下载contents->resources->lib->python2.5->sitepackages下的库。”

尽管如此,我还是想给程序添加一个新的依赖项。我正在尝试使用FFMPEG,它是一个外部程序,允许您拍摄一系列图像并将其转换为视频。在这个应用程序的主要源代码文件satstressgui.py(位于contents->resources中)中,我使用subprocesspython模块调用外部程序FFMPEG。以下是代码片段:

#FFMPEG is an external program that converts a sequence of images to a video. 
subprocess.call(['/usr/local/bin/ffmpeg', '-framerate', \
                         framerate, '-f', 'image2','-pattern_type', \
                         'glob', '-i', self.directory + '/orbit_*.png', \
                         '-r', '10', '-s', '620x380', self.directory + 
                         ".avi"])
目前,这在我自己的计算机上运行,因为我已经安装了FFMPEG(如果有问题,我使用自制软件安装)。如何使FFMPEG像wxPython一样成为程序中的依赖项(即,我使FFMPEG在用户运行应用程序之前“安装”在用户的计算机上)?我看了FFMPEG的网站,它看起来好像有一个gitHub,但除此之外,我完全迷路了

注意:我还尝试在我的应用程序中使用imageio(另一个Python库)将一系列图像转换为视频,但失败了。我试图将文件从imageio的gitHub复制并粘贴到contents->resources->lib->python2.5->sitepackages,但每次尝试“导入imageio”都失败了。这可能是因为我添加了错误的依赖项,或者是因为imageio仅适用于Python2.6及以上版本,而我的程序是用Python2.5编写的。如果有人能给我这些问题的答案,并帮助我导入一个模块,如imageio或添加一个外部程序,如FFMPEG,作为我的应用程序中的依赖项,那将是非常感激的!由于堆栈溢出的限制,我无法链接imageio的主网站,但你只需在谷歌上搜索一下就可以找到它(主网站的顶部横幅上有一张宇航员的照片)。不过,我更喜欢使用FFMPEG的解决方案,因为我已经在代码中实现了它

非常感谢您的帮助!我对计算机科学和编程相当陌生,所以若我问的很多澄清或问题都是初步的,我很抱歉

以下是指向我的应用程序的gitHub的链接:


这里是FFMPEG主网站的链接:

请将您的问题放在这里,以便解决您的具体问题。谢谢!我添加了一个特定的代码位,这样你们就不必亲自查看文件了。这可能不是正确的论坛。听起来像是一个github站点配置请求。除了@Ron之外,你可能还想阅读和重新回答你的问题。嗨,我意识到这个问题比大多数问题更深入。但我之所以包含这么多细节,是因为我觉得我需要真正的专业帮助来解决我的问题。我的问题不能用一两句话来概括,我希望你能理解。我感谢任何愿意看到这一点并提供建设性指导的人。谢谢