2016-10-10 39 views
6

Nie mogę zainstalować podstawowych pakietów Django na Ubuntu. Właśnie usunąłem virtualenv i przerobiłem go. pip3install = pip3 install -r requirements.txt"PermissionError: [Errno 13] Odmowa uprawnień: '/usr/lib/python3.5/site-packages'" instalowanie Django

[mything] [email protected]:~/projects/mything (master) 
$ cat requirements.txt 
Django==1.10.1 
django-filter 
djangorestframework 
psycopg2 
twilio 
ipdb 
ipython 


[mything] [email protected]:~/projects/mything (master) 
$ pip3install 
Collecting Django==1.10.1 (from -r requirements.txt (line 1)) 
    Using cached Django-1.10.1-py2.py3-none-any.whl 
Collecting django-filter (from -r requirements.txt (line 2)) 
    Using cached django_filter-0.15.2-py2.py3-none-any.whl 
Requirement already satisfied (use --upgrade to upgrade): djangorestframework in /home/cchilders/.local/lib/python3.5/site-packages (from -r requirements.txt (line 3)) 
Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 4)) 
Collecting twilio (from -r requirements.txt (line 5)) 
Requirement already satisfied (use --upgrade to upgrade): ipdb in /home/cchilders/.local/lib/python3.5/site-packages (from -r requirements.txt (line 6)) 
Requirement already satisfied (use --upgrade to upgrade): ipython in /home/cchilders/.local/lib/python3.5/site-packages (from -r requirements.txt (line 7)) 
Collecting pysocks; python_version == "3.5" (from twilio->-r requirements.txt (line 5)) 
Requirement already satisfied (use --upgrade to upgrade): six in /home/cchilders/.local/lib/python3.5/site-packages (from twilio->-r requirements.txt (line 5)) 
Collecting httplib2>=0.7 (from twilio->-r requirements.txt (line 5)) 
Requirement already satisfied (use --upgrade to upgrade): pytz in /usr/lib/python3/dist-packages (from twilio->-r requirements.txt (line 5)) 
Requirement already satisfied (use --upgrade to upgrade): setuptools in /home/cchilders/.local/lib/python3.5/site-packages (from ipdb->-r requirements.txt (line 6)) 
Requirement already satisfied (use --upgrade to upgrade): prompt-toolkit<2.0.0,>=1.0.3 in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7)) 
Requirement already satisfied (use --upgrade to upgrade): pickleshare in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7)) 
Requirement already satisfied (use --upgrade to upgrade): decorator in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7)) 
Requirement already satisfied (use --upgrade to upgrade): simplegeneric>0.8 in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7)) 
Requirement already satisfied (use --upgrade to upgrade): traitlets>=4.2 in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7)) 
Requirement already satisfied (use --upgrade to upgrade): pygments in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7)) 
Requirement already satisfied (use --upgrade to upgrade): pexpect; sys_platform != "win32" in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7)) 
Requirement already satisfied (use --upgrade to upgrade): wcwidth in /home/cchilders/.local/lib/python3.5/site-packages (from prompt-toolkit<2.0.0,>=1.0.3->ipython->-r requirements.txt (line 7)) 
Requirement already satisfied (use --upgrade to upgrade): ipython-genutils in /home/cchilders/.local/lib/python3.5/site-packages (from traitlets>=4.2->ipython->-r requirements.txt (line 7)) 
Requirement already satisfied (use --upgrade to upgrade): ptyprocess>=0.5 in /home/cchilders/.local/lib/python3.5/site-packages (from pexpect; sys_platform != "win32"->ipython->-r requirements.txt (line 7)) 
Installing collected packages: Django, django-filter, pysocks, httplib2, twilio 
Exception: 
Traceback (most recent call last): 
    File "/home/cchilders/.local/lib/python3.5/site-packages/pip/basecommand.py", line 215, in main 
    status = self.run(options, args) 
    File "/home/cchilders/.local/lib/python3.5/site-packages/pip/commands/install.py", line 317, in run 
    prefix=options.prefix_path, 
    File "/home/cchilders/.local/lib/python3.5/site-packages/pip/req/req_set.py", line 742, in install 
    **kwargs 
    File "/home/cchilders/.local/lib/python3.5/site-packages/pip/req/req_install.py", line 831, in install 
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix) 
    File "/home/cchilders/.local/lib/python3.5/site-packages/pip/req/req_install.py", line 1032, in move_wheel_files 
    isolated=self.isolated, 
    File "/home/cchilders/.local/lib/python3.5/site-packages/pip/wheel.py", line 346, in move_wheel_files 
    clobber(source, lib_dir, True) 
    File "/home/cchilders/.local/lib/python3.5/site-packages/pip/wheel.py", line 287, in clobber 
    ensure_dir(dest) # common for the 'include' path 
    File "/home/cchilders/.local/lib/python3.5/site-packages/pip/utils/__init__.py", line 83, in ensure_dir 
    os.makedirs(path) 
    File "/usr/lib/python3.5/os.py", line 241, in makedirs 
    mkdir(name, mode) 
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.5/site-packages' 

mything po lewej stronie jest aktywnym virtualenv (ja po prostu przerobiony)

+1

Musisz mieć uprawnienia root'a podczas instalowania modułów w pythonie systemowym. Użyj 'sudo'. – MisterMiyagi

+1

to nadal będzie źle. Próbuję tylko zainstalować na virtualenv i nigdy nie musiałem używać sudo, aby pakiety virtualenv działały. – codyc4321

+1

sprawdź prawa użytkownika i uprawnienia do tego katalogu. –

Odpowiedz

9

Można przypadkowo odtworzyć virtualenv z python2 zapominając umieścić ścieżkę do Python3 tłumacza więc podczas wykonywania pip3 się odnosi do systemu Python3.

Upewnij się, że używasz poprawnego Pythona w virtualenv, a także upewnij się, że utworzysz virtualenv z pip (tak, to jest opcja domyślna, ale nie wiemy, w jaki sposób tworzysz swoje środowisko wirtualne).

+0

prawidłowe. chory podwójny czek, TY – codyc4321

+0

tak, dziękuję – codyc4321

3

Aby rozwinąć odpowiedź przez @valentjedi, oto jak naprawiłem problem z uprawnieniami bez używania sudo.

Install

  • Sprawdź, czy masz virtualenv zainstalowany here

  • ta jest opcjonalna, ale także skorzystać virtualenvwrapper użyć polecenia hereworkon, w przeciwnym razie można po prostu source bin/activate z virtualenv

Tworzenie virtualenv

Nie chcesz zainstalować bibliotek projektu z sudo ponieważ będzie zainstalować system bibliotek szeroki (który będzie realizowany w sprawach, gdy masz więcej niż jeden projekt). Zamiast używać virtualenvs tak:

$mkvirtualenv myenv --python=python3.5 
$workon myenv 
$pip3 install -r requirements.txt 

ten dostaje konfiguracji przez Dokonywanie virtualenv 'myenv oraz określając, które Python używasz. Następnie aktywujesz środowisko i możesz zainstalować swój plik wymagań.