2016-08-23 34 views
0

如何通过cx_Freeze的disutils.core.setup()参数向gcc传递命令?如何通过cx_Freeze将命令传递给gcc

具体而言,我想我的.exe文件中追溯信息使用相对路径,而不是在那里我建立.exe文件

这里的路径是我的setup.py文件:

setup(
name="test", 
packages=['test'], 
package_data={'': ['*.py', '*.txt', '*.sample', '*.mo', 'README.rst']}, 
options={"build_exe": { 
    "icon": r"test\resources\test.ico", 
    "compressed": True, 
    "create_shared_zip": True, 
    "copy_dependent_files": True, 
    "include_files": [ 
     ('test/i18n/', 'i18n/'), 
     ('test/resources/', 'resources/'), 
     ('test/client.conf.sample', 'client.conf.sample'), 
    ], 
    "excludes": [ 
     'urllib.sys', 
     'urllib._sre', 
     'urllib.array', 
     'urllib._locale', 
     'urllib.datetime', 
     'urllib._functools', 
     ] 
    } 
}, 
executables=Executable(script=script),) 

回答

1

您需要添加一个额外的选项,你已经有:

replace_paths = [("*", "")] 

这将取代所有相对路径的路径。你还可以做更多有趣的事情,如:

replace_paths = [ 
    ("/path/to/python/lib", "<Python>"), 
    ("/path/to/my/script", "<Script>") 
] 

从本质上说,元组的第一个元素是这是与元组的第二个元素的值替换路径的一部分。搜索值中的值*会导致所有路径被替换值替换。

+0

谢谢。如果创建开放项目的人提供对其他人的支持,那就太好了。我很快就会尝试 – nikolaevra

相关问题