नए Ubuntu/डेबियन संस्करण के अंतर्गत, libpython2.7.so
/usr/lib/i386-linux-gnu/libpython2.7.so
या /usr/lib/x86_64-linux-gnu/libpython2.7.so
, आदि इससे पहले किया जा रहा है, वे /usr/lib/libpython2.7.so
में पाया जा सकता है, कोई फर्क नहीं पड़ता वास्तुकला। मैंने अन्य वितरणों की जांच नहीं की है। मैं पाइथन के साथ libpython2.7.so
का पथ कैसे ढूंढूं?वितरण स्वतंत्र libpython पथ
उत्तर
मुझे लगता है कि आप इस फ़ाइल के खिलाफ लिंक करना चाहते हैं। पाइथन आमतौर पर pkgconfig
जानकारी के साथ संकलित करने में मदद के लिए स्थापित किया जाता है। विशेष रूप से .so
फ़ाइल के लिए, आपको pkg-config --libs python-2.7
का उपयोग करना चाहिए। अजगर से:
import subprocess
subprocess.check_output(["pkg-config", "--libs", "python-2.7"])
केवल झंडा दिखाया -lpython2.7
है, तो आप /etc/ld.so.conf
पढ़ने डिफ़ॉल्ट स्थान हैं, जिनमें लिंकर अपने पुस्तकालयों के लिए लग रहा है देखने के लिए विचार करना चाह सकते।
pkg-config
का उपयोग करना सबसे अच्छा विकल्प नहीं है - यह पाइथन के विभिन्न इंस्टॉलेशन के बीच अंतर नहीं करेगा, केवल सिस्टम स्थापना लौटाएगा। libpythonX.Y.so
के स्थान की खोज के लिए आप पाइथन निष्पादन योग्य का उपयोग कर बेहतर हैं।
:
from distutils import sysconfig;
print sysconfig.get_config_var("LIBDIR")
या एक Makefile अंदर:
PYTHON_LIBDIR:=$(shell python -c 'from distutils import sysconfig; print sysconfig.get_config_var("LIBDIR")')
इस से जो कुछ भी पायथन निष्पादन पहले $PATH
में है और इस तरह है स्थान की खोज करेंगे एक से अधिक अजगर प्रतिष्ठानों हैं काम करेंगे सिस्टम पर
इस बिंदु को इंगित करने के लिए Niall Fitzgerald पर क्रेडिट।
यह मुझे '/ usr/lib' देता है, जबकि यह'/usr/lib/x86_64-linux-gnu' –
में स्थित है, मेरे लिए काम नहीं करता है। मार्को सुल्ला ने एक ही समस्या की ओर इशारा किया। –
वही समस्या। :(वास्तव में यह करने का कोई तरीका था। – Alec
- 1. concatenate पथ - प्लेटफ़ॉर्म स्वतंत्र - "/", "\"
- 2. यादृच्छिक बीज स्वतंत्र
- 3. जावा फ़ाइल को कनवर्ट करना: // यूआरएल से फ़ाइल (...) पथ, प्लेटफ़ॉर्म स्वतंत्र, यूएनसी पथ
- 4. वितरण
- 5. वितरण
- 6. साइथन - distutils बनाम cmake: libpython के खिलाफ जोड़ने?
- 7. vim: लाइब्रेरी libpython लोड नहीं किया जा सका
- 8. सामान्य वितरण प्लॉटिंग
- 9. अंतर: विज्ञापन वितरण और विकास वितरण
- 10. डेटाबेस वितरण
- 11. बीटा वितरण
- 12. रिमोट वितरण
- 13. setuptools/वितरण
- 14. संभाव्यता वितरण
- 15. क्लाउडफ़्रंट वितरण
- 16. टेस्ट वितरण
- 17. वर्दी वितरण
- 18. तदर्थ वितरण
- 19. Crashlytics वितरण
- 20. ओएस-स्वतंत्र एपीआई?
- 21. होस्टनाम-स्वतंत्र यसोड एप्लिकेशन
- 22. लोकेल-स्वतंत्र स्ट्रेट कार्यान्वयन
- 23. लिखना स्वतंत्र लक्षण
- 24. प्लेटफ़ॉर्म स्वतंत्र संसाधन प्रबंधन
- 25. डब्ल्यूसीएफ मंच स्वतंत्र है?
- 26. विकासशील संकल्प स्वतंत्र अनुप्रयोग
- 27. एकाधिक स्वतंत्र घटक इंजेक्शन
- 28. डिकंपलिंग कोड (भाषा स्वतंत्र)
- 29. लोकेल-स्वतंत्र "एटॉफ"?
- 30. डिवाइस स्वतंत्र पिक्सेल
क्या आप 'libpython का पता लगाने' या कुछ और ढूंढ रहे हैं? – janos
आपका 'ldd/usr/local/bin/python' आपको क्या दिखाता है? – Arovit
'libpython का पता लगाएं' केवल इस एकल फ़ाइल से बहुत अधिक पाता है, और मैं प्रोग्रामेटिक रूप से पथ ढूंढना चाहता हूं और इसे cmake पर आपूर्ति करना चाहता हूं। 'ldd/usr/local/bin/python' कोई ऐसी फ़ाइल या निर्देशिका नहीं देता है, और 'ldd/usr/bin/python' कई लाइब्रेरी फाइलें देता है, लेकिन' libpython2.7.so' उनमें से एक नहीं है। – Psirus