2013-07-13 5 views
39

मैं सिर्फ अजगर 2.6 के लिए मेरे MySQLdb पैकेज को स्थापित करने समाप्त हो गया है, और अब जब मैं आयात यह import MySQLdb का उपयोग कर, एक उपयोगकर्ता चेतावनी दिखाई दिखाई देगीनिकालें अजगर UserWarning

/usr/lib/python2.6/site-packages/setuptools-0.8-py2.6.egg/pkg_resources.py:1054: 
UserWarning: /home/sgpromot/.python-eggs is writable by group/others and vulnerable 
to attack when used with get_resource_filename. Consider a more secure location 
(set with .set_extraction_path or the PYTHON_EGG_CACHE environment variable). 
    warnings.warn(msg, UserWarning) 

वहाँ एक रास्ता है कि कैसे इस से छुटकारा पाने के है?

उत्तर

79

आप ~/.python-eggs बदल सकते हैं समूह/हर किसी के द्वारा लिखने योग्य नही किया जाना है। मुझे लगता है कि यह काम करता है:

chmod g-wx,o-wx ~/.python-eggs 
+1

ऐसी परिस्थिति में जहां समूह * (डेवलपर्स ', इस मामले में) लिखने योग्य हो, वहां इसे दबाने का एक उपयोगकर्तालैंड तरीका होना चाहिए और "हाँ, मुझे अच्छी तरह से पता है कि इस समूह में सक्रिय अन्य दो उपयोगकर्ता अंडे फ़ोल्डर को लिख सकते हैं, जो जानबूझकर है। वैश्विक उमास्क 0002 है। " – Amelia

9

आप का उपयोग कर चेतावनी को दबा सकती हैं -W ignore:

python -W ignore yourscript.py 

If you want to supress warnings in your script (quote from docs):

आप कोड है कि आप जानते हैं कि इस तरह के एक पदावनत समारोह के रूप में, एक चेतावनी बढ़ा देंगे प्रयोग कर रहे हैं, लेकिन नहीं चाहते हैं चेतावनी देखें, तो catch_warnings संदर्भ प्रबंधक का उपयोग कर चेतावनी को दबाना संभव है:

import warnings 

def fxn(): 
    warnings.warn("deprecated", DeprecationWarning) 

with warnings.catch_warnings(): 
    warnings.simplefilter("ignore") 
    fxn() 

संदर्भ प्रबंधक के भीतर सभी चेतावनियों को केवल अनदेखा कर दिया जाएगा। यह आपको अन्य कोड के लिए चेतावनी को दबाने के दौरान चेतावनी को देखे बिना ज्ञात-बहिष्कृत कोड का उपयोग करने की अनुमति देता है जो शायद बहिष्कृत कोड के उपयोग से अवगत न हो। नोट: इसे केवल एकल-थ्रेडेड एप्लिकेशन में ही गारंटी दी जा सकती है। यदि दो या दो से अधिक थ्रेड एक ही समय में catch_warnings संदर्भ प्रबंधक का उपयोग करते हैं, तो व्यवहार अपरिभाषित है।

आप सिर्फ फ्लैट बाहर उपेक्षा चेतावनी करना चाहते हैं, तो आप filterwarnings उपयोग कर सकते हैं:

import warnings 
warnings.filterwarnings("ignore") 
+0

यह काम करता है, धन्यवाद! लेकिन मैं इसके लिए स्थायी फिक्स पर विचार कर रहा हूं, बिना '-W अनदेखा' का उपयोग किए। –

+0

चेतावनियों को अनदेखा करना बुरा व्यवहार है, विशेष रूप से सुरक्षा संबंधी चेतावनियां –

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