删除Python UserWarning

我刚刚完成了为Python 2.6安装MySQLdb包,现在当我使用import MySQLdb导入它时,会出现一个用户警告

 /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) 

有没有办法摆脱这个?

您可以将~/.python-eggs更改为不可由群组/所有人写入。 我认为这工作:

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

您可以使用-W ignore警告:

 python -W ignore yourscript.py 

如果您想在脚本中禁止警告(引用文档):

如果您使用的代码会引发警告,比如不推荐使用的函数,但不希望看到警告,则可以使用catch_warnings上下文pipe理器来禁止警告:

 import warnings def fxn(): warnings.warn("deprecated", DeprecationWarning) with warnings.catch_warnings(): warnings.simplefilter("ignore") fxn() 

在上下文pipe理器中,所有警告都将被忽略。 这使您可以使用已知不推荐的代码,而不必查看警告,同时不会抑制其他可能不知道使用不推荐使用的代码的代码的警告。 注意:这只能在单线程应用程序中保证。 如果两个或多个线程同时使用catch_warnings上下文pipe理器,则行为是未定义的。

如果你只是想忽略警告,你可以使用filterwarnings

 import warnings warnings.filterwarnings("ignore")