Как установить python-dev без sudo?

Как установить python-dev без sudo?

Я пытаюсь установить пакет python (scikits.learn) в свой пользовательский каталог (на сервере Ubuntu, для которого у меня нет прав sudo), но получаю

error: Python.h: No such file or directory

Может быть, потому что у меня не установлен python-dev. Но как мне установить python-dev без sudo? ИЛИ есть ли другой простой выход для Python.h?

решение1

Вы можете скомпилировать свой собственный Python из исходников, а затем установить любые модули, которые вам нужны. http://docs.python.org/devguide/

решение2

Я знаю, что это немного похоже на некромантию (оживление старых постов), но я столкнулся с той же проблемой и не смог найти ответа, поэтому делюсь тем, что нашел...

Мое решение:

Я работаю на 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: нет такого файла или каталога».

Мое решение, не совсем чистое, но, по крайней мере, ограниченноеvirtualenv и виртуальная папка pythonявляется:

  1. создать тестовый каталог (package_download)
  2. no-sudo@pc:~/package_download$ apt-get скачать libpython2.7-dev
  3. no-sudo@pc:~/package_download$ apt-get скачать python-dev
  4. no-sudo@pc:~/package_download$ dpkg -x libpython2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb .
  5. no-sudo@pc:~/package_download$ dpkg -x python-dev_2.7.11-1_amd64.deb .

Это загрузит библиотеку и извлечет ее в папку package_download. Теперь начинается грязная часть, поскольку pip не позволил мне указать это местоположение, я добавил эти файлы туда, где им и место, в папку virtualenv...

  1. Объедините "~/package_download/usr/bin" с каталогом bin внутри вашеговиртуальный питонпапку установки (ту, которую вы использовали для установки virtualenv и создания своей среды), но не заменяйте никакие файлы.
  2. Объедините "~/package_download/usr/lib" с каталогом lib внутри вашеговиртуальный питонПапка. Здесь нет конфликтов.
  3. Скопируйте содержимое "~/package_download/usr/include/python2.7" в папку include/python2.7/, здесь нет конфликтов. Это на самом деле самая грязная часть, так как мы изменяем папку установкивиртуальный питон(для этого не требуется sudo, так как это no-sudoвиртуальный питон).
  4. Скопируйте папку "~/package_download/usr/include/x86_64-linux-gnu" в папку include/python2.7/. Копирование папок здесь не проблема...

теперь запустите вашу виртуальную среду:

  1. no-sudo@pc:~/running_virtualenv$ исходный bin/activate
  2. (running_virtualenv)no-sudo@pc:~/running_virtualenv$ pip установить jupyter
  3. наслаждаться...

Если вы обнаружили, что вашвключить/python2.7/является символической ссылкой, то вы перепутали папку virtualenv с папкой virtual python. (Спасибо @andrzej1_1 за обнаружение этой проблемы)

Связанный контент