2014-05-09 16 views
14

po zainstalowaniu iconv z npm uzyskałem następujący błąd:Nie można odnaleźć pliku wykonywalnego Pythona "python"

[email protected] install /root/Dropbox/nodeApps/nodeApp/node_modules/iconv node-gyp rebuild

gyp ERR! configure error 
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. 
gyp ERR! stack  at failNoPython (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:103:14) 
gyp ERR! stack  at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:42:11 
gyp ERR! stack  at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:43:25) 
gyp ERR! stack  at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:46:29) 
gyp ERR! stack  at /usr/local/lib/node_modules/npm/node_modules/which/which.js:57:16 
gyp ERR! stack  at Object.oncomplete (fs.js:107:15) 
gyp ERR! System Linux 3.8.0-19-generic 
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" 
gyp ERR! cwd /root/Dropbox/nodeApps/nodeApp/node_modules/iconv 
gyp ERR! node -v v0.10.28 
gyp ERR! node-gyp -v v0.13.0 
gyp ERR! not ok 

npm ERR! [email protected] install: `node-gyp rebuild` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] install script. 
npm ERR! This is most likely a problem with the iconv package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node-gyp rebuild 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls iconv 
npm ERR! There is likely additional logging output above. 
npm ERR! System Linux 3.8.0-19-generic 
npm ERR! command "node" "/usr/local/bin/npm" "i" 
npm ERR! cwd /root/Dropbox/nodeApps/nodeApp 
npm ERR! node -v v0.10.28 
npm ERR! npm -v 1.4.10 
npm ERR! code ELIFECYCLE 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /root/Dropbox/nodeApps/nodeApp/npm-debug.log 
npm ERR! not ok code 0 

choć zainstalowany Python i można go uruchomić z konsoli:

# python 
Python 2.7.3 (default, May 9 2014, 12:18:32) 
[GCC 4.8.2] on linux2 

i skonfiguruj PATH w ~/.bashrc:

export PYTHONPATH=$PYTHONPATH:/Python-2.7.3 
export PATH=$PATH:/Python-2.7.3 

i zrobione . ~/.bashrc

+0

Problem polegał na tym, że '~/.bashrc' nie został załadowany podczas logowania ssh. Wstawiłem zmienne 'PATH' do' ~/.bash_profile' i jest ok. –

+0

Miałem zestaw PYTHON var w ~/.zshrc, ale nadal otrzymywałem błąd po ponownym uruchomieniu iTerm, więc skończyłem z tym hackem dowiązań symbolicznych: $ który python /usr/bin/python $ sudo ln -s/usr/bin/python/usr/local/bin/python – kwcto

Odpowiedz

8

W sesji bash, gdzie jesteś w stanie po prostu wpisać python i uzyskać poprawną odpowiedź, wpisz which python i zanotować pełną lokalizację ścieżki do python binarny. Wybierz tę lokalizację i umieść ją w zmiennych środowiskowych PYTHONPATH i PATH, z wyjątkiem braku końcówki python.

Na przykład which python daje mi:

/usr/local/bin/python 

więc chciałbym napisać:

export PYTHONPATH=$PYTHONPATH:/usr/local/bin 
export PATH=$PATH:/usr/local/bin 

w moim ~/.bashrc.

+0

'-bash::/usr/bin: Brak takiego pliku lub katalogu' – Green

1

Problem był spowodowany tym, że ~/.bashrc nie został załadowany podczas logowania ssh. Włożyłem PATH vars do ~/.bash_profile i jest ok

22

Dla każdego napotykają ten problem na Ubuntu 16.04 ...
node-gyp nie można używać Python 3.5.x, który wydaje się być na domyślnie dostarczany z 16.04. Czytałem gdzieś, że 16.04 miał być dostarczony również z Python2, ale nie mogę go znaleźć na mojej instalacji.

Naprawiłem powyższy problem przez:

apt-get update  
apt-get install python2.7  
ln -s /usr/bin/python2.7 /usr/bin/python 

Teraz kiedy node-gyp idzie szuka python będzie trafienie Python2.7 zainstalować i załadować poprawnie.

Powiązane problemy