ОС: Ubuntu 14.04 LTS
Python: 2.7.6
Моя установка Изысканного менеджера по Рецепту внезапно прекратила загружаться. Когда я выполняю его в окне терминала, я получаю следующее в конце traceback:
import datetime as dt
ImportError: No module named datetime
Насколько я могу сказать, ничто не было изменено, и моя установка Python актуальна. Вчера это просто вышло из работы. Я, конечно, ценил бы хороший подход, чтобы диагностировать и решить эту проблему!
Обновление: благодаря всем, кто ответил!
Tim, я сожалею, если я задал этот вопрос в неправильном месте. Рисуйте мелом его до того, чтобы быть новым парнем, просто переходящим по ссылкам с веб-сайта Ubuntu.
TheSchwa, я попробовал Ваше предложение и получил то же сообщение об ошибке как выше.
muru, пакет, кажется, установлен, но я понятия не имею, установлен ли он/настроен правильно. Как я мог бы узнать?
Я сожалею обо всех вопросах, но я - старый парень Redhat, который был вдали от Linux в течение некоторого времени. Весь материал apt/dpkg плохо мне знаком.
Это просто произошло со мной после этих 14,10 обновлений, и это, кажется, потому что мои виртуальные среды имеют старые копии /usr/bin/python2.7
, что — в отличие от нового двоичного файла — не включают datetime
встроенный, и тем самым получают ошибку, когда они не могут найти его на диске нигде. Новый интерпретатор, кажется, импортирует его без любого файлового ввода-вывода (попытайтесь выполнить его под strace
для проверки).
я зафиксировал каждую виртуальную среду путем активации его и выполнение:
$ cp /usr/bin/python2.7 $(which python2.7)
Можно просто повторно инициализировать virtualenv:
cd $VIRTUAL_ENV
virtualenv .
Если Вы получаете эту попытку использовать letsencrypt после того, как обновление, это решение работало на меня , letsencrypt форумы - не Могут использовать автоматический импорт: ошибка: никакой модуль не назвал io/2345/3
, я просто должен был удалить это:
rm ~/.local/share/letsencrypt -R
Я имел ту же проблему и наконец решил, что это должен быть CLI AWS, потому что я заметил, что это имело свой собственный каталог Python. Таким образом, я удалил CLI AWS и переустановил его, и это решило проблему:
sudo pip uninstall awscli
sudo pip install awscli
Когда я нашел некоторые изменения в 14,04, таким образом, Вы должны сделать это от корня:
Для даты и времени только:
ln -s /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/datetime.so
Для всех модулей:
ln -s /usr/lib/python2.7/lib-dynload/audioop.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/audioop.so
ln -s /usr/lib/python2.7/lib-dynload/_bsddb.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_bsddb.so
ln -s /usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/bz2.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_cn.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_hk.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_iso2022.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_jp.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_kr.so
ln -s /usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_tw.so
ln -s /usr/lib/python2.7/lib-dynload/crypt.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/crypt.so
ln -s /usr/lib/python2.7/lib-dynload/_csv.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_csv.so
ln -s /usr/lib/python2.7/lib-dynload/_ctypes_test.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_ctypes_test.so
ln -s /usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_ctypes.so
ln -s /usr/lib/python2.7/lib-dynload/_curses_panel.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_curses_panel.so
ln -s /usr/lib/python2.7/lib-dynload/_curses.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_curses.so
ln -s /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/datetime.so
ln -s /usr/lib/python2.7/lib-dynload/dbm.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/dbm.so
ln -s /usr/lib/python2.7/lib-dynload/_elementtree.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_elementtree.so
ln -s /usr/lib/python2.7/lib-dynload/fpectl.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/fpectl.so
ln -s /usr/lib/python2.7/lib-dynload/future_builtins.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/future_builtins.so
ln -s /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_hashlib.so
ln -s /usr/lib/python2.7/lib-dynload/_hotshot.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_hotshot.so
ln -s /usr/lib/python2.7/lib-dynload/_json.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_json.so
ln -s /usr/lib/python2.7/lib-dynload/linuxaudiodev.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/linuxaudiodev.so
ln -s /usr/lib/python2.7/lib-dynload/_lsprof.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_lsprof.so
ln -s /usr/lib/python2.7/lib-dynload/mmap.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/mmap.so
ln -s /usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_multibytecodec.so
ln -s /usr/lib/python2.7/lib-dynload/_multiprocessing.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_multiprocessing.so
ln -s /usr/lib/python2.7/lib-dynload/nis.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/nis.so
ln -s /usr/lib/python2.7/lib-dynload/ossaudiodev.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/ossaudiodev.so
ln -s /usr/lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/parser.so
ln -s /usr/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/pyexpat.so
ln -s /usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/readline.so
ln -s /usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/resource.so
ln -s /usr/lib/python2.7/lib-dynload/_sqlite3.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_sqlite3.so
ln -s /usr/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_ssl.so
ln -s /usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/termios.so
ln -s /usr/lib/python2.7/lib-dynload/_testcapi.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_testcapi.so
Также, если Вы используете виртуальную огибающую копию
cp $(which python2.7) /opt/graphite/bin/python
к Вашему ENV
Я получил ошибку, когда я обновил от Ubuntu 14.04 до 14,10. Я воссоздал свой virtualenv, и проблема ушла. Таким образом, если Вы работаете с virtualenv, необходимо воссоздать его.
Однако, если Вы не делаете, я предполагаю, что переустановка Вашего проекта будет работать. Не касайтесь никаких системных библиотек! Это может работать в настоящее время, но потенциально приведет к проблемам с другими.
Это происходит после некоторых обновлений Ubuntu. Мое любимое решение
$ virtualenv --no-site-packages path/to/virtualenv/dir
, Это обновляет все необходимое, не удаляя пакеты, уже установленные.
, Если у Вас есть много virtualenvs для обновления, можно использовать xargs
:
$ ls ~/directory/with/virtualenvs | xargs -L1 virtualenv --no-site-packages