前情提要
python3.6.6的安装
使用官网python3.6.6.tgz安装包,在Ubuntu18.04上进行源代码安装
(这里下载安装的Ubuntu 18系统,自带pythoin3.6.5,没有python2,安装3.6.6后,3.6.5被覆盖)
在构建测试make test的时候,报出以下问题:
No module named '_ssl'
No module named '_tkinter'
No module named '_msi'
No module named 'winreg'
No module named '_bz2'
No module named '_dbm'
No module named 'readline'
No module named '_lzma'
No module named '_curses'
No module named '_gdbm'
No module named '_sqlite3'
尝试在python3中导入以上库
比如
Python 3.6.6 (default, Jul 21 2018, 10:14:45)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/tkinter/__init__.py", line 36, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
很明显,失败了
解决No module named '_ssl'
因为无法导入ssl,使用pip3安装虚拟环境virtualenv失败了,所以我先解决这个
1、安装openssl,和libssl-dev
sudo aptitude install openssl
sudo aptitude install libssl-dev
2、进入python3.6.6解压目录,配置文件中增添--with-ssl参数,再次进行编译安装
cd ~/software/Python3.6.6
./configure --with-ssl
make
sudo make install
3、测试是否能正常导入ssl
Python 3.6.6
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>>
这次没有报错,可以正常导入
sudo pip3 install virtualenv
virtualenv --version
16.0.0
虚拟环境也安装成功了
No module named '_ssl'问题解决。
解决No module named '_tkinter'
1、安装python3-tk,和tk-dev
sudo aptitude install python3-tk
sudo aptitude install tk-dev
注意这里因为是python3环境,所以是安装python3-tk
如果是python2环境,是安装python-tk
2、进入python3.6.6解压目录,再次进行编译安装
cd ~/software/Python3.6.6
./configure
make
sudo make install
进行构建测试make