2016-09-29 79 views
1

我們有一個複雜的工具(用Python編碼)用於環境驗證和配置。它運行在各種Windows風格上。到目前爲止,我們在公司內部使用了該工具。但是現在我們希望我們的支持工程師在旅途中使用它。問題是他們沒有權限在客戶機器上安裝Python。是否有可能在沒有安裝的情況下運行Python(不使用像py2exe這樣的包裝器)?

爲了解決這種情況,我們查看了py2exe,cx_freeze和pyInstaller等實用程序。雖然它們很好,但在某些情況下,生成的EXE會遇到依賴性問題。所以我們放棄了使用這些工具。

是否有可能在筆驅動器中的所有python相關的文件,並直接從它運行它?當我們這樣做時,顯然解釋器會抱怨,因爲這些DLL沒有在目標機器上註冊。我懷疑只是註冊DLL可能會導致其他問題。有沒有簡單的解決方案?

+0

哪些DLL需要註冊的程序? – napuzba

+0

python27.dll是它開始的地方 – nLogN

+0

在USB棒上運行WinPython應該可行,不是嗎?當然,你必須小心路徑等,因爲不會有任何環境變量。 – nostradamus

回答

0

假設你的腳本是main.py

  • 複製所有的Python目錄的目錄它駐留在
  • 搜索python*.dll在Windows目錄和它project/python
  • 內容創建project/main.bat

main.bat

"%~dp0/python/python.exe" "%~dp0/main.py" %* 

項目目錄應該是:

project 
├── python 
| ├── python.exe 
| ├── python27.dll 
| └── ... 
├── main.py 
└── main.bat 

現在,調用與main.bat

+0

我希望這會工作!不幸的是,它沒有。它給出了和以前一樣的錯誤。 python DLL仍未在Windows中註冊。 – nLogN

+0

在你的Windows目錄中找到'python * .dll',並將它複製到'project/python'目錄。 – napuzba

+0

太棒了,我懂了!謝謝@napuzba。 對於其他想要嘗試此操作的人:請注意,python27.dll不在安裝文件夾中,而是在** C:\ Windows \ System32 **中。 – nLogN

相關問題