一、问题描述
自己在ubuntu16.04中另外安装了python3.7,随后安装了pycharm。pycharm创建项目的虚拟环境时的base编译器是/usr/local/bin/下的python3.7文件,随后使用虚拟环境pip安装包时显示如下找不到Python.h文件。
fatal error: Python.h: No such file or directory
二、普遍解决方法
- 网络上的解决方法主要是下面两条命令:
- sudo apt-get install python-devel
- sudo apt-get install python3-devel
- 但是没有起作用。
三、有效解决方法
3.1卸载
- 首先卸载python3-devel
- sudo apt-get remove python3-devel
3.2 重装python3.7.1
- 我的解决方法是重新删除python3.7重新安装一次
- 上述文章中最后python3.7安装路径为 /usr/local/python3.7.1,后面要用到
- 设置python3命令
- sudo ln -s /usr/local/python3.7.1/bin/python3.7 /usr/bin/python3
- 之后重新安装python3-devel,此时python3指向python3.7.1,而非系统自带的python3.5,因此Python.h会安装到上述python3.7.1的目录下。
- sudo apt-get install python3-devel
3.2 pycharm 设置
- 在删除pycharm原有工程的虚拟文件前可以先记录已经安装的包,pycharm下方终端输入命令。
- pip freeze > requirements.txt
- 删除venv文件。
- 重建共享虚拟环境
- file -> settings -> Project -> Protect interpreter
- 点击右边项目右侧齿轮按钮选择add
- 在随后跳出来的页面中,base interpreter选择自身python3.7.1的安装路径,我的是/opt/python3.7/bin/python3.7
- 点击create即可,虚拟环境创建后可在下方终端直接安装之前已经安装的包。
- pip install -r requirements.txt
|