Как вы исправляете модуль уже загруженных пользовательских предупреждений в Python? - PullRequest
18 голосов
/ 05 октября 2010

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

Ответы [ 5 ]

7 голосов
/ 29 января 2011

Возможно, используйте опцию virtualenv --no-site-packages, чтобы в вашей виртуальной среде не было системных системных пакетов сайта.Причиной этой проблемы может быть наличие элементов, установленных как в virtualenv, так и в корневом каталоге системы.

Использование --no-site-packages при создании virtualenv предотвращает конфликт между системными пакетами.Я почти всегда использую эту опцию при создании нового virtualenv для предотвращения любых конфликтов.Хотя у меня может быть несколько копий библиотек, по крайней мере, они не связываются друг с другом.

4 голосов
/ 04 января 2011

Эквивалент Python для наложения небольшого количества изоленты на индикаторную лампу проверки будет состоять в использовании флага командной строки -W или добавлении фильтра предупреждений .

2 голосов
/ 21 января 2013

В моем случае переустановка чего-либо не помогла. В каталоге /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python

остались некоторые потерянные файлы .pyc (особенно pkg_resources.pyc)
sudo find . -type f -name "*.pyc" -delete

заставил это работать. Эта ссылка помогла мне отследить проблему.

0 голосов
/ 29 апреля 2016

Если в программе, которую вы модифицируете, появляется предупреждение, попробуйте это так (например, с pytz):

try:  
    import pytz  
except ImportError:  
    from pkg_resources import require  
    require('pytz')  
0 голосов
/ 05 апреля 2013

Сегодня я тоже посещал этот вид упаковки Python.

Запуск Python 2.7.3 в Ubuntu, использование пакетов пространства имен и zc.buildout.

Наконец, обновление общесистемного дистрибутивасо старой версии 0.6.30 до последней версии 0.6.35 проблема решена.

...