在py2exe中忽略library.zip
我需要一个可执行文件(.exe),这个文件可以从一个用户可以根据需要配置的文件中获取一些参数。因为我用Python写了脚本,所以我使用了py2exe来创建这个可执行文件。虽然我可以放一个叫settings.dat的配置文件来进行定制,但我觉得如果这个配置文件是一个Python文件(比如说settings.py),然后直接导入里面定义的变量会更好。
所以,settings.py不应该被包含在library.zip里面,我希望它能单独存在,用户可以进行配置。这可能吗?
有没有办法避免创建library.zip,而是把所有依赖文件放在一个子文件夹里?(这样我就可以把settings.py放在里面,因为settings.pyc是从它生成的,任何对settings.py的修改都会反映出来)
1 个回答
2
有没有办法避免创建 library.zip 文件,而是把所有依赖的文件放在一个子文件夹里?
可以的,只需要把 skip_archive
选项设置为 True
。
http://www.py2exe.org/index.cgi/ListOfOptions
补充说明:pyc 文件会放在原本应该放 zip 文件的同一个文件夹里。zipfile
这个关键词可以控制 zip 文件的路径。这样可以把文件放在子文件夹 foo
里:
setup(
...
zipfile="foo/bar.zip",
options={"py2exe": {"skip_archive": True}})