2015-08-15 20 views
19

Używam CentOS i zainstalowałem pip do /usr/local/python-dir/bin/pip. Zrobiłem link do /usr/local/bin/pip. Potem wykonywane sudo pip install xxx, że zgłosił błąd takiego:sudo: pip: polecenie nie znaleziono w CentOS

sudo: pip: command not found 

widzę $PATH wszystko jest w porządku:

/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin 

Mogę jednak tylko wykonać PIP w ten sposób:

sudo /usr/local/bin/pip install xxx 

Jak mogę skonfigurować PATH lub coś innego? Wielkie dzięki.

+0

Czy łącze działa, jeśli próbujesz go uruchomić bez 'sudo'? Oczywiście, prawdopodobnie nie będziesz mieć uprawnień do instalacji, ale czy spróbujesz uruchomić 'pip' w ten sposób? –

Odpowiedz

42

Ze względów bezpieczeństwa numer sudo nie zależy od zestawu $PATH w danym środowisku. Dostępna jest opcja secure_path w /etc/sudoers, która określa PATH, która będzie używana do lokalizowania plików binarnych. Na przykład:

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin 

Wystarczy dodać /usr/local/bin na tej ścieżce, albo przyzwyczaić się do pisania:

sudo `which pip` install xxx 
+0

Wielkie dzięki ... To jest to, czego szukałem przez cały czas! – Deca

+1

Sądzę, że trzeba było edytować plik za pomocą visudo: sudo visudo; naciśnij klawisz wstawiania, przewiń w dół i wprowadź zmianę, naciśnij klawisz esc, a następnie ": qw", aby zapisać plik i wyjść. To działało dla mnie. – eezis

+0

Zgadzam się bardziej z odpowiedzią @Paul Kenjora, 'sudo ln -s/usr/local/bin/pip/usr/bin/pip' – Pramit

-1

Możesz dodać opcję -E do sudo używać zmiennych środowiskowych koncie użytkownika

$ sudo -E pip install xyz

+1

to nie może działać dla mnie. – zimmer

+0

Nie działa w systemie Ubuntu. –

3

Wypróbuj sudo bash -c 'echo $PATH', aby sprawdzić, gdzie sudo szuka poleceń; możesz następnie dowiązać symbol pip do jednego z tych katalogów.

+0

To jest inny sposób na rozwiązanie mojego problemu, dodam/usr/local/bin do secure_path, działa również, dzięki – zimmer

+7

'$ sudo ln -s/usr/local/bin/pip/usr/bin/pip' jest sposób to osiągnąłem. – MikeiLL

+0

@MikeiLL, dzięki.Dla tego, co jest warte, znalazłem na moim komputerze 'usr/local/bin/pip3.4'. – progfan

3

Nie idealny, ale działa. Zawsze możesz odłączyć je po instalacji, aby przywrócić bezpieczeństwo.

sudo ln -s/usr/local/bin/PIP/bin/pip

Stawia pip do kosza ścieżki korzeń. Następnie możesz uruchomić pip jako sudo.

0

pip można zainstalować z poniższej komendy:

yum -y install python-pip

Jeśli Twój napotykając żadnych problemów z kluczem GPG (Nie ma takiego pliku lub katalogu), a następnie wywołać poniżej polecenia:

rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6 

następnie spróbuj zainstalować pip

Powiązane problemy