Co się stanie, jeśli zainstaluję coś za pomocą pip / pip3 z uprawnieniami sudo w virtualevn?
Dostałem PermissionError podczas instalacji tensorflow z pip3 wewnątrz virtualenv, więc użyłem sudo.
(.tensorflow) $ pip3.5 install tensorflow
...
PermissionError: [Errno 13] Permission denied: "/usr/lib/python3.5/site-packages"
(.tensorflow) $ sudo pip3.5 install tensorflow
Następnie mogę zaimportować tensorflow do ipython3 poza virtualenv.
Jednak nie dostałem PermissionError, gdy zainstalowałem przy użyciu pip2.
Jeśli więc zainstaluję coś w virtualenv z uprawnieniami sudo, czy jest to dostępne z zewnątrz?
Dziękuję Ci.
Odpowiedzi:
1 dla odpowiedzi № 1Czy Twój virtualenv używa interpretera języka Python 3.5? Możesz to sprawdzić, po prostu uruchamiając python --version
z aktywowanym virtualenv. Podejrzewam, że na podstawie twoich oświadczeń masz wirtualną wersję 2.7. Ponieważ virtualenv to 2.7 pip3.5
nie działa w kontekście środowiska wirtualnego, dlatego musisz go użyć sudo
. virtualenv -p python3.5 myvenvname
powinien dać ci to, czego chcesz.