Я знаю, что это немного некромантия (возрождение старых постов), но я столкнулся с той же проблемой и не смог найти ответ, поэтому я делюсь тем, что нашел ...
Мое решение:
Я работаю на Ubuntu 16.04 Desktop без sudo и только с установленным Python 2.7. Мне удалось настроить virtualevn без sudo (после https://stackoverflow.com/questions/9348869/how-to-install-virtualenv-without-using-sudo) и при попытке установить jupyter я обнаружил пропущенную ошибку: Python.h: нет такого файла или каталога ".
Мое решение, не совсем чистое, но по крайней мере ограниченное виртуальной папкой python :
- создать тестовый каталог (package_download)
- no-sudo @ pc:~/package_download $ apt-get загрузить libpython2.7-dev
- no-sudo @ pc:~/package_download $ apt-get загрузить python-dev
- no-sudo @ pc:~/package_download $ dpkg -x libpython2.7-dev_2.7.12-1ubuntu0 ~ 16.04.1_amd64.deb.
- no-sudo @ pc:~/package_download $ dpkg -x python-dev_2.7.11-1_amd64.deb.
Это загрузит библиотеку и распакует их в вашу папку package_download. Теперь перейдем к грязной части, так как pip не позволил мне нацелить это местоположение, я добавил эти файлы туда, где они находятся, внутри папки virtualenv ...
- Объедините «~/package_download/usr/bin» с каталогом bin внутри вашей папки установки виртуального python (той, которую вы использовали для установки virtualenv и создания среды), но не заменяйте никакие файлы.
- Объедините "~/package_download/usr/lib" с каталогом lib внутри вашей виртуальной папки python . Здесь нет конфликтов.
- Скопируйте содержимое "~/package_download/usr/include/python2.7" в папку include/python2.7/, здесь нет конфликтов. На самом деле это самая грязная часть, поскольку мы модифицируем папку установки виртуального питона (для этого не требуется sudo, поскольку это виртуальный питон no-sudo).
- Скопируйте папку «~/package_download/usr/include/x86_64-linux-gnu» в папку include/python2.7/. Копирование папок здесь не проблема ...
Теперь запустите вашу виртуальную среду:
- no-sudo @ pc:~/running_virtualenv $ исходный бин / активировать
- (running_virtualenv)no-sudo @ pc:~/running_virtualenv $ pip install jupyter
- наслаждаться...
Если вы обнаружили, что ваш include/python2.7/ является символической ссылкой, вы ошибочно приняли папку virtualenv за виртуальную папку python. (Спасибо @ andrzej1_1 за поиск этой проблемы)