Подтвердить что ты не робот

Как вы исправляете уже загруженные пользователем 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, но он хотел проверить, работает ли кто-нибудь еще, или будет знать, как это сделать.

4b9b3361

Ответ 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')