/ / Co się stanie, jeśli użyję Sudo Pip w Python Virtualenv? [duplikat] - python-3.x, pip, virtualenv

Co się stanie, jeśli użyję Sudo Pip w Python Virtualenv? [duplicate] - python-3.x, pip, virtualenv

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 № 1

Czy 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.