2017-04-21 76 views
1

如何在Inno Setup中運行Python setup.py libraries?我的意思是哪個部分是正確的地方以及如何操作?一般情況下,在終端的語法如下工作在Inno Setup中運行已安裝的Python腳本時獲取「Process exit code:2」

python setup.py install 

但是,下面的代碼是不是在Inno Setup的[Run]部分工作。 我得到「退出代碼2」

[Run] 
Filename: "{app}\python.exe"; Parameters: "{app}\requests-master\setup.py install"; \ 
    WorkingDir: "{app}"; Flags: waituntilterminated 

日誌信息如下:

[12:21:24.240] -- Run entry -- 
[12:21:24.241] Run as: Current user 
[12:21:24.242] Type: Exec 
[12:21:24.243] Filename: msiexec.exe 
[12:21:24.246] Parameters: /i "C:\Program Files (x86)\Project\python-3.4.3.msi" TARGETDIR="C:\Program Files (x86)\Project\Python34" /passive 
[12:21:24.955] Process exit code: 0 
[12:21:24.971] -- Run entry -- 
[12:21:24.972] Run as: Current user 
[12:21:24.987] Type: Exec 
[12:21:24.988] Filename: C:\Program Files (x86)\Project\Python34\python.exe 
[12:21:24.989] Parameters: C:\Program Files (x86)\Project\waitress-master\setup.py install 
[12:21:25.113] Process exit code: 2 

任何指針將是對我很有幫助。

+0

*「相同不工作「*:那它有什麼作用?控制檯窗口顯示什麼? Inno安裝日誌文件顯示關於執行的什麼? –

+0

@MartinPrikryl我的意思是,使用終端,python setup.py安裝工程。但是,當涉及到innosetup時,它會引發退出代碼2 – user2224250

+0

這個信息應該首先出現在問題中!請編輯你的問題+包括日誌! –

回答

1

由於{app}路徑(C:\Program Files (x86))包含空格,則必須將其換到雙引號(你必須double them to escape them in the Inno Setup script,它利用自身的雙引號):

[Run] 
Filename: "{app}\python.exe"; Parameters: """{app}\requests-master\setup.py"" install"; \ 
    WorkingDir: "{app}"; Flags: waituntilterminated 
+1

非常感謝... – user2224250

+0

只有一個問題,爲什麼我們不需要用雙引號@Filename來包裝。由於文件名也使用{app} – user2224250

+0

因爲'Filename'是一個從頭到尾的路徑,所有內容都包含在內。與'WorkingDir'相同。 - 雖然'Parameters'只是一個隨機字符串,其中一部分恰好是一條路徑。所以需要有一個明確的區別,路徑的開始和結束。 –