Не включать каталог в Python 3.6 с virtualenv


Я создаю две виртуальные среды с именами "venv35" и "venv36" для Python 3.5 и 3.6 соответственно. Подкаталог "include" отсутствует в "venv36", таким образом, " Python.h " не удается найти в этой среде (Python 3.6). Любые идеи о нем?

$ 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
2 5

2 ответа:

Если виртуальная среда создается с помощью "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".
ln -s /usr/include/python3.6/ py36/include/python3.6

Возможно, вам потребуется установить заголовки для Python 3.6:

sudo apt install python3.6-dev