不包含 Python 3.6 中的目录与 virtualenv

Not include directory in Python 3.6 with virtualenv

我正在为 Python 3.5 和 3.6 创建两个名为 "venv35" 和 "venv36" 的虚拟环境。 "venv36" 中缺少子目录 "include",因此在此环境 (Python 3.6) 中找不到 "Python.h"。有什么想法吗?

$ virtualenv -p python3.5 venv35
$ virtualenv -p python3.6 venv36
$ ls -la venv35 venv36
venv35:
total 28
 .
 ..
 bin
 include
 lib
 pip-selfcheck.json
 share

venv36:
total 24
 .
 ..
 bin
 lib
 pip-selfcheck.json
 share

您可能需要安装 Python 3.6 的头文件:

sudo apt install python3.6-dev

如果使用 "venv" 创建虚拟环境,我们得到:

$ /usr/bin/python3.6 -m venv py36
$ ls -la py36/
total 32
.
..
bin
include
lib
lib64 -> lib
pip-selfcheck.json
pyvenv.cfg
share

"include" 文件夹仍然是空的,因此解决方案似乎是在原始 "include" 文件夹位置创建符号 link。

ln -s /usr/include/python3.6/ py36/include/python3.6