ubuntu1604下安装python3.7 安装python3.7时候,报错ModuleNotFoundError: No module named '_ctypes'

Ubuntu18.04预装了Python3.6.5

终于不再预装Python2.7了

但是系统预装的Python分散安装在各个目录里

以后改起来非常不方便

所以本次安装Python3.6.8

Python3.6.8是3.6的最后一个版本了

请注意不要卸载系统预装的Python

 

sudo apt install openssl* zlib*

安装依赖

 

sudo wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

从官网下载源码

 

sudo tar -xzvf Python-3.6.8.tgz

解压

 

cd Python-3.6.8

进入源码目录

 

sudo ./configure --prefix=/usr/local/python --with-ssl --enable-optimizations

安装到/usr/local/python目录

不用事先创建python目录

 

sudo make

编译

 

sudo make install

安装

 

等待一会儿

安装完成后删除源码压缩包与文件夹

 

sudo ln -s /usr/local/python/bin/python3.6 /usr/bin/python
sudo ln -s /usr/local/python/bin/pip3.6 /usr/bin/pip
创建python与pip软连接

 

 

 

安装python3.7时候,报错ModuleNotFoundError: No module named '_ctypes'

 

 

1. zipimport.ZipImportError: can’t decompress data; zlib not available

 

Traceback (most recent call last):
  File "/home/wfq/soft/Python-3.7.0b3/Lib/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/wfq/soft/Python-3.7.0b3/Lib/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/wfq/soft/Python-3.7.0b3/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/home/wfq/soft/Python-3.7.0b3/Lib/ensurepip/__init__.py", line 204, in _main
    default_pip=args.default_pip,
  File "/home/wfq/soft/Python-3.7.0b3/Lib/ensurepip/__init__.py", line 117, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/home/wfq/soft/Python-3.7.0b3/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1123456789101112131415

现在zlib,编译,make && make install 
安装zlib即可,zlib-1.2.11

2. ModuleNotFoundError: No module named ‘_ctypes’

 

Traceback (most recent call last):
  File "/home/wfq/soft/Python-3.7.0b3/Lib/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/wfq/soft/Python-3.7.0b3/Lib/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/wfq/soft/Python-3.7.0b3/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/home/wfq/soft/Python-3.7.0b3/Lib/ensurepip/__init__.py", line 204, in _main
    default_pip=args.default_pip,
  File "/home/wfq/soft/Python-3.7.0b3/Lib/ensurepip/__init__.py", line 117, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/home/wfq/soft/Python-3.7.0b3/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip
  File "/tmp/tmpnfe1bbxk/pip-9.0.3-py2.py3-none-any.whl/pip/__init__.py", line 45, in <module>
  File "/tmp/tmpnfe1bbxk/pip-9.0.3-py2.py3-none-any.whl/pip/vcs/mercurial.py", line 9, in <module>
  File "/tmp/tmpnfe1bbxk/pip-9.0.3-py2.py3-none-any.whl/pip/download.py", line 36, in <module>
  File "/tmp/tmpnfe1bbxk/pip-9.0.3-py2.py3-none-any.whl/pip/utils/glibc.py", line 4, in <module>
  File "/home/wfq/soft/Python-3.7.0b3/Lib/ctypes/__init__.py", line 7, in <module>
    from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
make: *** [install] Error 1123456789101112131415161718192021

 

解决方法:

 

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev12345678

再重新编译安装python3.7即可成功 
参考:https://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul
 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值