2016-02-27 7 views
6

मैं अपने आवेदन में पायथन ज़िप फ़ाइल को एम्बेड करने की कोशिश कर रहा हूं। मैंने पाइथन साइट से ज़िप फ़ाइल डाउनलोड की, (win32 एक)।एम्बेड करें पायथन ज़िप फ़ाइल त्रुटि फेंकता है?

इस कोड मैं अजगर पथ

#include <Python.h> 
... 
std::wstring exe_dir = L"\\exe\\path"; 
std::wstring python_path; 
python_path += exe_dir + L"python-3.5.1-embed-win32.zip"; 
Py_SetPath(python_path.c_str()); 

Py_Initialize(); // Error : "Py_Initialize: unable to load the file system codec" 

... 

स्थापित करने के लिए इस्तेमाल करते हैं लेकिन कोई फर्क नहीं पड़ता कि मुझे क्या करना, एप्लिकेशन वही त्रुटि हर समय फेंक देते हैं। भले ही मैं विभिन्न पथ के साथ खेलता हूं।

मैं अपने ऐप में ज़िप फ़ाइल कैसे एम्बेड कर सकता हूं?

उत्तर

0

"python-3.5.1-embed-win32.zip" के अंदर एक और ज़िप फ़ाइल है।

python35.zip 

और वह फ़ाइल वह है जिसे जोड़ने की आवश्यकता है।

#include <Python.h> 
...  
std::wstring exe_dir = L"\\exe\\path"; 
std::wstring python_path; 
python_path += exe_dir + L"python35.zip"; 
Py_SetPath(python_path.c_str()); 

Py_Initialize();  
... 

मुझे पता है कि क्या अन्य फ़ाइलों, के लिए कर रहे हैं दिलचस्पी होगी (या अगर यह इसका इस्तेमाल करने का सही तरीका है) ...

+0

मैंने एक [ब्लॉग पोस्ट] बनाया है (http://www.myoddweb.com/2016/02/27/embed-python-in-your-c-plication-without -पिथॉन-स्थापित-ऑन-गेस्ट-मशीन /) पाइथन के लिंक और अनुसरण करने के लिए चरणों के साथ। – FFMG

0

"क्या अन्य फ़ाइलों के बारे में पिछले सवाल का जवाब देने "एम्बेडेड वितरण में" के लिए उपयोग किया जाता है, आपको कुछ आयात पर त्रुटियां दिखाई देगी। मुझे NumPy/SciPy आयात करने में त्रुटि मिली क्योंकि Python35.zip के बाहर की उन फ़ाइलों में से एक गायब थी - _ctypes.pyd। यह भी पता चला कि छोटी फ़ाइल pyvenv.cfg को कम से कम अपने EXE के आगे पाइथन 3.5.2 पर बैठना है, जो कि केवल एक टेक्स्ट फ़ाइल है जो applocal = true कहती है। बेशक आपको python35.dll की ज़रूरत है ...

संबंधित मुद्दे