Como posso instalar o python-dev sem sudo?

2

Estou tentando instalar o pacote python (scikits.learn) no meu diretório de usuários (em um servidor ubuntu para o qual não tenho permissão sudo), mas estou recebendo

error: Python.h: No such file or directory

Pode ser porque eu não tenho o python-dev instalado. Mas como eu posso instalar o python-dev sem sudo? OU há alguma outra saída fácil para o Python.h?

    
por d.putto 30.05.2012 / 15:40

2 respostas

3

Você pode compilar seu próprio python a partir das fontes e, em seguida, instalar os módulos que quiser. link

    
por 30.05.2012 / 15:56
1

Eu sei que isso é um pouco de necromancia (revivendo posts antigos), mas enfrentei o mesmo problema e não consegui encontrar uma resposta, então estou compartilhando o que encontrei ...

Minha solução:

Estou trabalhando em um Ubuntu 16.04 Desktop, sem o sudo e apenas o python 2.7 instalado. Eu consegui configurar um virtualevn sem sudo (seguindo link ) e quando tentando instalar o jupyter me deparei com o erro "falta: Python.h: Não existe tal arquivo ou diretório".

Minha solução, nada limpa, mas pelo menos confinada a virtualenv e pasta virtual python é:

  1. crie um diretório de teste (package_download)
  2. no-sudo @ pc: ~ / package_download $ apt-get baixa libpython2.7-dev
  3. no-sudo @ pc: ~ / package_download $ apt-get download 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.

Isso fará o download da biblioteca e a extrairá na pasta package_download. Agora vem a parte suja, já que o pip não me permitiu atingir este local, eu adicionei esses arquivos ao local onde eles pertencem, dentro da pasta virtualenv ...

  1. Mesclar "~ / package_download / usr / bin" com o diretório bin dentro de sua pasta de instalação virtual python (aquela que você usou para instalar virtualenv e criar seu ambiente), mas não substitua nenhum arquivo .
  2. Mesclar "~ / package_download / usr / lib" com o diretório lib dentro da pasta virtual python . Não há conflitos aqui.
  3. Copie o conteúdo de "~ / package_download / usr / include / python2.7" para sua pasta include / python2.7 /, sem conflitos aqui. Esta é realmente a parte mais suja, já que estamos modificando a pasta de instalação do virtual python (isso não requer o sudo, já que é um não-virtual python ).
  4. Copie a pasta "~ / package_download / usr / include / x86_64-linux-gnu" para sua pasta include / python2.7 /. Copiando pastas sem problemas aqui ...

agora execute seu env virtual:

  1. no-sudo @ pc: ~ / running_virtualenv $ source bin / activate
  2. (running_virtualenv) no-sudo @ pc: ~ / running_virtualenv $ pip instalar o jupyter
  3. aproveite ...

Se você descobriu que seu include / python2.7 / é um link simbólico, então você confundiu a pasta virtualenv com a pasta virtual python. (Obrigado @ andrzej1_1 por encontrar este problema)

    
por 11.09.2017 / 16:56