Я пытаюсь запустить программу, используя paster serve
, но продолжаю получать сообщение об ошибке:
ImportError: Нет модуля с именем dateutil.relativedelta
Я использую Python версии 2.6.7 и dateutil
версии 1.5, поэтому его следует установить.
У кого-нибудь есть идеи, почему это могло произойти?
Я импортирую, используя
from dateutil.relativedelta import *
Я даже вижу пакет при поиске:
/usr/lib/python2.7/site-packages/dateutil/relativedelta.pyc
/usr/lib/python2.7/site-packages/dateutil/relativedelta.py
/usr/lib/python2.7/site-packages/dateutil/relativedelta.pyo
Я сразу же смотрю на это и вижу, что dateutil
устанавливается только для Python 2.7, и держу пари, что я делал следующее:
sudo yum install python-dateutil
Для которого sudo
переключился бы на версию Python по умолчанию (т.е. вместо Python 2.7 из 2.6.4).
Решить эту проблему было так же просто:
su
(switch to virtual environment)
yum install python-dateutil
Использование su
с последующим переключением в виртуальную среду предоставит root-доступ и установку в виртуальный каталог Python. Использование sudo
установит библиотеки в каталог по умолчанию, а не в пакеты сайтов виртуальных сред.