2013-03-16 47 views
2

您好我已經創建了一個應用程序,允許最終用戶Python腳本。該應用程序的主要部分是用python編寫的,我已經使用pyinstaller編譯成exe文件,這很好,應用程序的一部分工作得很好。嵌入Python腳本安裝的ImportError:無模塊命名的網站

此應用程序然後調用嵌入Python中的DLL,這然後調用一些最終用戶的Python腳本。當我測試它時沒有任何問題,但是一旦我使用pyinstaller編譯了程序,DLL會打印錯誤「ImportError:No module named site」。

我在Windows上使用Python 2.7。

從我可以從其他帖子講這個與PYTHONHOME PYTHONPATH環境變量,我敢肯定,我可以從DLL中設置的一個問題。但是考慮到最終用戶可能沒有在他們的計算機上安裝Python,我是否需要提供完整的Python 2.7安裝程序和我的程序,將PYTHONHOME和PYTHONPATH更改爲該安裝?這是正確的方式去做這件事嗎?

回答

0

我得到這個工作的唯一方法是分發一些python 2.7與應用程序,即目錄下的Python和DLL目錄Python27與嵌入python的可執行文件在同一個文件夾中。

這克服了用戶可能沒有安裝Python的問題,意味着他們將能夠自己增加模塊,蟒蛇「家」的本地應用程序。這基本上是我爲了得到我想要的結果而做的。

https://stackoverflow.com/a/2970407/722634

0

你是正確的。即使python不在他的系統中,最終用戶也應該能夠運行你的exe文件。相反,當最終用戶運行你的exe時,你的exe應該調用pyx,pyo文件。而且,這些文件將被pyinstaller打包。此外,你需要確保你指向那些pyx,pyo文件的路徑

相關問題