Как вы исправляете уже загруженные пользователем UserWarnings в Python?
Получение следующих видов предупреждений при запуске большинства сценариев 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, но он хотел проверить, работает ли кто-нибудь еще, или будет знать, как это сделать.
Ответы
Ответ 1
Возможно, используйте опцию virtualenv --no-site-packages
, чтобы вы не увидели каких-либо системных сайтов-пакетов в вашей виртуальной среде. Причиной этой проблемы могут стать элементы, установленные как в вашем virtualenv, так и в системном корне.
Использование --no-site-packages
при создании виртуального файла предотвращает любой конфликт между системными пакетами. Я почти всегда использую этот параметр при создании нового virtualenv для предотвращения конфликтов. Хотя у меня может быть несколько копий библиотек, по крайней мере, они не объединяются друг с другом.
Ответ 2
Питон-эквивалент помещать немного электрической ленты поверх света контрольной лампы будет заключаться в использовании флага командной строки -W
или добавлении предупреждающего фильтра.
Ответ 3
В моем случае переустановка ничего не помогла. В файле /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python
остались некоторые файлы-сироты .pyc(в частности pkg_resources.pyc)
sudo find . -type f -name "*.pyc" -delete
заставил его работать. Эта ссылка помогла мне выявить проблему.
Ответ 4
У меня был такой аранжированный аддон на Python сегодня.
Запуск Python 2.7.3 на Ubuntu, использование пакетов пространства имен и использование zc.buildout.
Наконец, обновление системы в целом. Распространение от более старой версии 0.6.30 до последней версии 0.6.35 разрешило проблему.
Ответ 5
Если предупреждение отображается в программе, которую вы изменяете, попробуйте ее таким образом (пример с pytz):
try:
import pytz
except ImportError:
from pkg_resources import require
require('pytz')