如何在mac上安装Package时将数据传递给文件

时间:2013-11-10 18:22:48

标签: python macos package py2app packagemaker

我在python中创建一个应用程序。在mac osx 10.8.5上使用python 2.7。我使用py2app将python代码转换为app。然后我使用Packages将myapp.app转换为包myapp.pkg。 我正在使用配置文件,我保存在内容 - >资源 - > config.cfg中。 config.cfg文件包含运行app所必需的数据。

My issue is how to pass serverIP and serverPort to config.cfg file while installing myapp through myapp.pkg i.e. through Packages。我的config.cfg文件就像键值对。我使用config.parsar来读取config.cfg文件。

[KMS]
serverIP1 = 
serverPort1 =
serverIP2 =
serverPort2 = 

我需要在安装包时将这些值传递给config.cfg文件。安装程序应该询问这些值,用户应该输入这些值。

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是编写一个packagemaker plugin来询问用户的这些详细信息,然后将其保存到某个文件中。然后在安装过程中,从安装后脚本中,您可以读取此文件并修改配置文件。

但是,将这些配置文件保存在app文件中是个坏主意。这些文件的更好位置是~/Library/Preferences~/Library/Application Support

创建packagemaker插件的教程:(需要Cocoa知识) http://www.mactech.com/articles/mactech/Vol.25/25.06/InstallerPlugins/index.html http://s.sudre.free.fr/Stuff/Installer/Installer_Plugins/