"Нет модуля с именем time"
Я скомпилировал Python из источника, используя:
wget http://python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2
tar jxvf Python-2.6.6.tar.bz2
cd Python-2.6.6
./configure
make
make install
Версия Python:
as3:~# python -V
Python 2.6.6
Я также установил программу установки, но когда я использую pip install xxx
, я всегда получаю следующую ошибку:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/local/lib/python2.6/site-packages/distribute-0.6.49-py2.6.egg/pkg_resources.py", line 16, in <module>
import sys, os, time, re, imp, types, zipfile, zipimport
ImportError: No module named time
Как это исправить?
Ответы
Ответ 1
Вам нужно сохранить весь вывод, сгенерированный configure
в файле, и проверить, пытались ли он построить модуль time
, а если нет, то почему бы и нет.
Обычно этого не происходит из-за отсутствия файлов заголовков. Устраните эти проблемы и снова создайте Python.
Если у вас есть диспетчер пакетов, вам следует действительно рассмотреть возможность установки Python: теперь он будет иметь все зависимости и все доступные модули должны работать.
Наконец, убедитесь, что вы выполнили правильный исполняемый файл. Чтобы проверить это, запустите Python с абсолютным путем. Чтобы выполнить его в текущей папке, используйте $PWD/python
.
Ответ 2
Вы, вероятно, не должны apt-get удалить python. Я предлагаю снова установить его из репо и, если необходимо, построить второй питон под/usr/local.
Ответ 3
i решил это следующим образом:
cd cd Python-2.6.6
make uninstall
cd ~
rm -rf Python-2.6.6.tar.bz2 Python-2.6.6
сначала скомпилируйте sqlite3.
wget http://www.sqlite.org/sqlite-amalgamation-3.6.20.tar.gz
tar zxvf sqlite-amalgamation-3.6.20.tar.gz
cd sqlite-3.5.6
./configure --prefix=/usr/local/lib/sqlite3
make
make install
rm /usr/bin/python /usr/local/bin/python
затем скомпилируйте python2.7:
wget http://python.org/ftp/python/2.7.6/Python-2.7.6.tar.bz2
tar jxvf Python-2.7.6.tar.bz2
cd Python-2.7.6
nano setup.py
(добавить '/usr/local/lib/sqlite3/include' в следующий абзац:
sqlite_inc_paths = [ '/usr/include',
'/usr/include/sqlite',
'/usr/include/sqlite3',
'/usr/local/include',
'/usr/local/include/sqlite',
'/usr/local/include/sqlite3',
'/usr/local/lib/sqlite3/include',
./configure
make
make install
as3:~/Python-2.7.6# python -V
Python 2.7.6
as3:~/Python-2.7.6# python
Python 2.7.6 (default, Nov 20 2013, 07:15:04)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> (no "ImportError: No module named _sqlite3" appears)
таким образом я решил 2 ошибки: "ImportError: Нет модуля с именем _sqlite3" и
"ImportError: нет модуля с именем time"