फ़ाइलों .pyc बनाने से अजगर को रोकने के लिए, पहले से ही अजगर स्क्रिप्ट का मामला (या जादुई संख्या है, तो आप करेंगे) में एक तरह से वहाँ है?बंद करो अजगर कुटिया में pyc फ़ाइलों को पैदा करने से
काम नहीं:
#!/usr/bin/env python -B
फ़ाइलों .pyc बनाने से अजगर को रोकने के लिए, पहले से ही अजगर स्क्रिप्ट का मामला (या जादुई संख्या है, तो आप करेंगे) में एक तरह से वहाँ है?बंद करो अजगर कुटिया में pyc फ़ाइलों को पैदा करने से
काम नहीं:
#!/usr/bin/env python -B
हाँ, यदि और केवल यदि, हम (/ bin/श के लिए) मान पायथन कार्यक्रम कुछ हद तक एक POSIX संगत प्रणाली में चलता है, यह काम करेगा:
(सुधार glglgl से इनपुट के आधार पर)
#!/bin/sh
"exec" "python" "-B" "$0" "[email protected]"
# The rest of the Python program follows below:
ओह, नहीं। Shebang सामान निष्पादन योग्य और एक पैरामीटर देने के लिए सीमित है।
तो env
के बजाय एक तर्क -B
साथ python
और दो तर्क के रूप में वर्तमान फ़ाइल के रूप में दिया फ़ाइल के साथ python -B
निष्पादित करने के लिए कोशिश करता है।
मैं वांछित लक्ष्य को प्राप्त करने के लिए एक रास्ता नहीं दिख रहा।
मजाकिया हिस्सा यह है कि पायथन विंडोज लॉन्चर इस सीमा के बारे में नहीं जानता है और विकल्पों को सही ढंग से पास करता है। तो खिड़की पर एक बार अजगर के लिए बेहतर काम करता है; आत्म करने के लिए) – lqc
यह बजाय वह धमाके में सीधे अपने अजगर interperter पथ डाल env का उपयोग करके भी संभव है।
#!/usr/bin/python -B
बेशक इसका मतलब है कि आप env का उपयोग करने के कुछ पोर्टेबिलिटी लाभों को खो देते हैं। wikipedia Shebang page पर env के साथ इस समस्या की चर्चा है। वे अपने env उदाहरणों में से एक के रूप में अजगर का उपयोग करें।
env के लिए आदमी पृष्ठ के अनुसार, आप वातावरण चर सेट करने के लिए name=value
पारित कर सकते हैं। PYTHONDONTWRITEBYTECODE
वातावरण चर अजगर का कारण बनता है [सह] फ़ाइलें (python
को -B
ध्वज के रूप में ही) .py नहीं लिखने के लिए। तो
#!/usr/bin/env PYTHONDONTWRITEBYTECODE=1 python
का उपयोग कर चाल करना चाहिए।
संपादित करें:
मैं एक साधारण अजगर स्क्रिप्ट के साथ इस परीक्षण किया:
#!/usr/bin/env PYTHONDONTWRITEBYTECODE=1 python
print 1
तो
$chmod +x test.py
$./test.py
1
$ls
test.py
(लेकिन नहीं test.pyc
)
मेरे लिए स्क्रिप्ट बस लटकती है ... –
क्या यह सिर्फ 'पायथन-बी script.py' के साथ काम करता है? मैंने अभी एक साधारण लिपि का परीक्षण किया, और यह मेरे लिए ठीक काम करना प्रतीत होता था। – asmeurer
मुझे भी। यह काम नहीं लग रहा है। –
@VajkHermecz, कोई मेरे सवाल बहुत है अधिक विशिष्ट। –
हाँ, माफ करना संबंधित एक बेहतर शब्द होगा ... srry –
फिर से खोलने के लिए वोटिंग क्योंकि इसका डुप्लिकेट से अलग प्रभाव पड़ता है। – o11c