py3compile त्रुटि - स्थानीय एन्कोडिंग प्राप्त करने में असमर्थ


4

Python3.2 को पुन: स्थापित करने के बाद, मुझे कॉल करते समय नीचे त्रुटि मिली py3compile:

Fatal Python error: Py_Initialize: Unable to get the locale encoding
LookupError: no codec search functions registered: can't find encoding
Aborted

मुझे पता है कि यह लापता पर्यावरण चर की समस्या हो सकती है। लेकिन मुझे नहीं पता कि इसे कैसे ठीक किया जाए। मैंने env आउटपुट की जाँच की और कोई PYTHONXXX चर नहीं पाया।

जवाबों:


1

मन कि यह एक देर से प्रतिक्रिया है, क्योंकि किसी ने इस सवाल पर एक इनाम की पेशकश की है। यह भी ध्यान दें कि इस समस्या को हल किए बिना मैं सत्यापित नहीं कर सकता कि कोई समाधान काम करता है या नहीं। मैं यहां केवल एक समाधान सुझाऊंगा, एक प्रदान नहीं करूंगा।

मुझे लगता है कि आप के रूप में उल्लिखित दो चर सेट करने के लिए यहाँ है, क्योंकि py3compileजरूरत है पता करने के लिए जहां कुछ संसाधन हैं। यह इन PYTHONXXX चर के माध्यम से उन्हें दिखता है।

इसलिए

export PYTHONPATH='/usr/lib64/python3.21:/usr/lib64/python3.2/lib-dynload:/usr/lib64/python3.2/site-packages'
export PYTHONHOME='/usr/lib64/python3.2'

या यों कहें

export PYTHONPATH='/path/to/pythondir:/path/to/pythondir/lib-dynload:/path/to/pythondir/site-packages'
export PYTHONHOME='/path/to/pythondir'

चाल चलनी चाहिए।


0

निम्नलिखित का प्रयास करें (अपने पसंदीदा पैकेज प्रबंधक के साथ opkg बदलें)

 # opkg install python3-modules
 # opkg install python3-misc

सभी पैकेज प्रबंधक निर्देशों का उपयोग नहीं करते हैं install। और, सभी डिस्ट्रो उन पैकेजों को प्रदान नहीं करते हैं।
हेलोसिहॉस्ट

0

यहाँ voidlinux पर सेटिंग के अलावा द्वारा यह त्रुटि ठीक PYTHONHOMEऔर PYTHONPATHमें डिफ़ॉल्ट अजगर के लिए प्रतीकात्मक कड़ी relinking /usr/binसे python3.5करने के लिए python2.7, जिसके लिए मुझे पता था कि यह एक मैं के लिए रास्तों की स्थापना की और जो कार्यक्रम है कि अजगर की आवश्यकता की आवश्यकता थी।

ध्यान दें कि पथों को सेट 3.5करने से python3.5 Py_Initializeयहां त्रुटि ठीक नहीं हुई । किसने कहा कि प्रणालियों को बनाए रखना आसान है।

जिसके कारण हमारे पास 0 स्थापना है । यदि केवल यह हमारे खुले स्रोत दुनिया के लोगों द्वारा और अधिक अपनाया जा सकता है। वर्तमान में हम एक libcurl OCaml समस्या के कारण voidlinux पर संकलित करने के लिए संघर्ष कर रहे हैं। अधिकांश वितरण उनके पैकेज प्रबंधन रिपॉजिटरी में हैं।

0install इन सभी समस्याओं को पूरी तरह से एक प्रोग्राम को एनकैप्सुलेट करके हल करता है, यह निर्भरता के साथ चलने के लिए है, जिसे सिस्टम पर इंस्टॉल किए गए दूसरे वर्जन को बिना डिस्टर्ब किए या 0 इनस्टॉल करने और पैकेज मेंटेनर के समय को बचाने के लिए इस्तेमाल किया जाता है क्योंकि यह उन लिंक को खत्म कर देता है जो यूजर सिस्टम और डेवलपर्स को इनबेट करते हैं क्योंकि डेवलपर्स सभी प्रणालियों के लिए एक 0 स्थापना पैकेज प्रदान करें (शून्य इंस्टॉल एक है cross platform package management system)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.