Python: никакой модуль не назвал дату и время?

ОС: 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 плохо мне знаком.

56
задан 12 December 2014 в 10:27

7 ответов

Это просто произошло со мной после этих 14,10 обновлений, и это, кажется, потому что мои виртуальные среды имеют старые копии /usr/bin/python2.7, что — в отличие от нового двоичного файла — не включают datetime встроенный, и тем самым получают ошибку, когда они не могут найти его на диске нигде. Новый интерпретатор, кажется, импортирует его без любого файлового ввода-вывода (попытайтесь выполнить его под strace для проверки).

я зафиксировал каждую виртуальную среду путем активации его и выполнение:

$ cp /usr/bin/python2.7 $(which python2.7)
84
ответ дан 22 November 2019 в 23:44

Можно просто повторно инициализировать virtualenv:

cd $VIRTUAL_ENV
virtualenv .
29
ответ дан 22 November 2019 в 23:44

Если Вы получаете эту попытку использовать letsencrypt после того, как обновление, это решение работало на меня , letsencrypt форумы - не Могут использовать автоматический импорт: ошибка: никакой модуль не назвал io/2345/3

, я просто должен был удалить это:

rm ~/.local/share/letsencrypt -R
29
ответ дан 22 November 2019 в 23:44

Я имел ту же проблему и наконец решил, что это должен быть CLI AWS, потому что я заметил, что это имело свой собственный каталог Python. Таким образом, я удалил CLI AWS и переустановил его, и это решило проблему:

sudo pip uninstall awscli

sudo pip install awscli

2
ответ дан 22 November 2019 в 23:44

Когда я нашел некоторые изменения в 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

0
ответ дан 22 November 2019 в 23:44

Я получил ошибку, когда я обновил от Ubuntu 14.04 до 14,10. Я воссоздал свой virtualenv, и проблема ушла. Таким образом, если Вы работаете с virtualenv, необходимо воссоздать его.

Однако, если Вы не делаете, я предполагаю, что переустановка Вашего проекта будет работать. Не касайтесь никаких системных библиотек! Это может работать в настоящее время, но потенциально приведет к проблемам с другими.

0
ответ дан 22 November 2019 в 23:44

Это происходит после некоторых обновлений Ubuntu. Мое любимое решение

$ virtualenv --no-site-packages path/to/virtualenv/dir

, Это обновляет все необходимое, не удаляя пакеты, уже установленные.

, Если у Вас есть много virtualenvs для обновления, можно использовать xargs:

$ ls ~/directory/with/virtualenvs | xargs -L1 virtualenv --no-site-packages
0
ответ дан 22 November 2019 в 23:44

Другие вопросы по тегам:

Похожие вопросы: