2014-05-09 30 views
14

Khi tôi cài đặt iconv với npm đã nhận lỗi sau:Không thể tìm thấy Python thực thi "trăn"

[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 

mặc dù tôi đã cài đặt python và có thể chạy nó từ giao diện điều khiển:

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

và thiết lập PATH trong ~/.bashrc:

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

và thực hiện . ~/.bashrc

+0

vấn đề là do '~/.bashrc' không được tải trên đăng nhập ssh. Tôi đặt 'PATH' vars vào' ~/.bash_profile' và ok là –

+0

Tôi đã đặt PYTHON var trong ~/.zshrc nhưng vẫn nhận được lỗi sau khi khởi động lại iTerm, vì vậy tôi đã kết thúc với liên kết này hack: $ mà python /usr/bin/python $ sudo ln -s/usr/bin/python/usr/local/bin/python – kwcto

Trả lời

8

Trong phiên bash của bạn, nơi bạn có thể chỉ cần gõ python và nhận được một câu trả lời hợp lệ, gõ which python và ghi nhớ nơi lưu đường dẫn đầy đủ của python nhị phân. Chọn vị trí đó và đặt nó vào các biến môi trường PYTHONPATHPATH của bạn, ngoại trừ không có python ở cuối.

Ví dụ, which python mang lại cho tôi:

/usr/local/bin/python 

vì vậy tôi sẽ viết:

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

trong ~/.bashrc tôi.

+0

'-bash::/usr/bin: Không có tệp hoặc thư mục nào như vậy' – Green

1

vấn đề là do ~/.bashrc không được tải khi đăng nhập ssh. Tôi đặt PATH vars để ~/.bash_profile và đó là ok

22

Đối với bất cứ ai gặp phải vấn đề này trên Ubuntu 16.04 ...
node-gyp không thể sử dụng Python 3.5.x mà dường như đến là mặc định mà tàu với 16,04. Tôi đọc một nơi nào đó mà 16.04 được cho là để tàu với Python2 là tốt, nhưng tôi không thể tìm thấy nó trên cài đặt của tôi.

tôi khắc phục sự cố trên bằng cách:

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

Bây giờ khi node-gyp đi tìm python nó sẽ nhấn Python2.7 của bạn cài đặt và tải một cách chính xác.

Các vấn đề liên quan