मेरे पास एक स्क्रिप्ट है जिसे मैं वैश्विक रूप से उपलब्ध करना चाहता हूं। मैं मानक hashbang के साथ शुरू कर दिया है:अंदर वर्चुअलनेव बिन से पाइथन स्क्रिप्ट चल रहा है
#! /usr/bin/env python
और यह मेरी virtualenv की बिन निर्देशिका में लिंक:
~/environments/project/env/bin/myscript
और मेरे रास्ते पर है कि निर्देशिका गयी। जब मैं कमांड चलाता हूं:
myscript
मुझे पुस्तकालयों में से एक के साथ आयात त्रुटि मिलती है। हालांकि, अगर मैं वर्चुअल वातावरण को सक्रिय करता हूं और स्क्रिप्ट चलाता हूं, तो यह अपेक्षा के अनुसार काम करता है।
मैंने सिम्लिंक के साथ एक समस्या से इंकार कर दिया है (मैंने बस बिन फ़ोल्डर के अंदर स्क्रिप्ट को स्थानांतरित करने का भी प्रयास किया है)। मैं भी अजगर के साथ स्क्रिप्ट चलाने
python ~/environments/project/env/bin/myscript
इससे पहले मैं एक स्क्रिप्ट है कि पर्यावरण सक्रिय और फिर मेरी स्क्रिप्ट चलाने पर उपयोग कर रहा था की कोशिश की है, लेकिन मैं यह धारणा थी कि स्क्रिप्ट इस फ़ोल्डर से चलाने virtualenv के साथ चलाना चाहिए व्याख्याता और साइट संकुल। कोई विचार नहीं है कि यह क्यों काम नहीं कर रहा है या कुछ तरीकों से मैं इसे डीबग कर सकता हूं?
आपके प्रश्न से संबंधित नहीं: भले ही अधिकांश गोले इसे अनदेखा करते हैं, '#!/'सख्ती से गलत बोल रहा है, क्योंकि अंतरिक्ष को कार्यक्रम के पथ का हिस्सा माना जाना था। अंतरिक्ष ड्रॉप करें और आप सुरक्षित हैं। – kay