我使用:
从源代码编译Pythonwget 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安装程序但是当我使用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
我该如何解决这个问题?
答案 0 :(得分:1)
您需要将configure
生成的所有输出保存在文件中,并检查它是否尝试构建time
模块,如果没有,那么为什么不呢。
通常,由于缺少头文件,因此不会发生这种情况。修复这些问题并重新构建Python。
如果您有一个软件包管理器,那么您应该考虑从那里安装Python:它将随附所有依赖项,所有可用的模块都可以正常工作。
最后,请确保执行正确的可执行文件。要检查这一点,请使用绝对路径运行Python。要在当前文件夹中执行它,请使用$PWD/python
。
答案 1 :(得分:0)
你可能不应该apt-get删除python。我建议再次从repo安装它,如果需要,在/ usr / local下构建第二个python。
答案 2 :(得分:-2)
我解决了它如下:
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的模块”