2016-08-23 35 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

相關問題