在命令行中运行大多数 python 脚本时会收到以下类型的警告:
/Library/Python/2.6/site-packages/virtualenvwrapper/hook_loader.py:16: UserWarning: Module
pkg_resources was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
import pkg_resources
/Library/Python/2.6/site-packages/virtualenvwrapper/hook_loader.py:16: UserWarning: Module site was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
import pkg_resources
我认为这与使用分布式和 virtualenv 的组合有关,但想检查是否有其他人遇到过此问题或知道如何修复它。
最佳答案
也许使用 virtualenv 选项 --no-site-packages
这样您就不会在虚拟环境中看到任何系统站点包。在您的 virtualenv 和系统根目录中都安装了项目可能是导致此问题的原因。
在创建 virtualenv 时使用 --no-site-packages
可以防止系统包之间的任何冲突。在创建新的 virtualenv 时,我几乎总是使用该选项来防止任何冲突。虽然我可能有几个库副本,但至少它们不会相互混淆。
关于python - 你如何在 Python 中更正模块已经加载的 UserWarnings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3861336/