2014-11-24 28 views
5

我正在嵌入Python的C應用程序。我已經下載了標準的python dist,並把它放在相對於程序的地方,並用它來鏈接&構建C應用程序。嵌入Python:沒有模塊命名的網站

這對我的devel機器正常工作,並且應用程序針對此版本的python運行。

當我捆起來的應用和蟒蛇發行和部署,即時得到以下錯誤:

ImportError: No module named site 

這可以通過設置PYTHONHOME的路徑,這個「局部」蟒蛇分佈是固定的,但我不想搞亂用戶可能已經擁有的任何python安裝,所以不想設置這個變量。

任何想法如何正確捆綁python解釋器& lib而不會干擾可能已經在目標機器上的任何可能的python版本?

+0

可能重複的[python ImportError No module named](http://stackoverflow.com/questions/338768/python-importerror-no-module-named) – 2014-11-24 11:50:27

+1

不,1:這是特定於嵌入和網站.py這是標準庫(即與找不到第三方模塊非常不同),您鏈接的問題不是。 2:我明確表示我不想惹PYTHONHOME。 – jramm 2014-11-24 11:53:54

+3

說真的,我有時會懷疑有人甚至沒有讀過這個問題以及他們標記的重複內容......就像簡略地讀取標題一樣,「標題中有一個相同的單詞 - >這必須是重複的」。這些甚至不是近似的...... -.-(並且一個標誌通常使得下列人員同意而不需要再仔細查看問題和被標記的副本 - >因此特別是第一標誌應該照顧他在做什麼......) – mozzbozz 2014-11-24 14:21:00

回答

3

Py_Initialize呼叫只需添加

Py_SetPythonHome(pathToPython); 

pathToPython應該是python發行版的路徑,對於Windows,它是包含LibDLLs文件夾的文件夾。

相關問題