Назад | Перейти на главную страницу

PIP не устанавливается в каталог virtualenv

Я пытаюсь установить django на уже существующий виртуальный сервер.

Следуя инструкциям, указанным на сайте pip-install Вот, Я запустил следующее из SSH.

name@server:~$ . myenv.env/bin/activate
(myenv.env)nam@server:~$ pip install django

Однако в нижней части установки я вижу следующее:

creating /usr/local/lib/python2.7/dist-packages/django

error: could not create '/usr/local/lib/python2.7/dist-packages/django': Permission denied

Похоже, он пытается установить его в глобальный каталог. У меня нет привилегий sudo. Я что-то здесь делаю не так?

Обновление: $ PATH = /var/django/myenv.env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Извините за опоздание на год! У меня была та же проблема, и я ее исправил, я не знаю, изменили ли вы имя каталога после создания виртуальной среды, хотя я это сделал. Если так, то вот что я сделал.

1.) deactivate ваш v-env. После исправления вам необходимо перезапустить v-env, так что можно также deactivate сейчас. право?

2.) Теперь, поскольку мы создали v-env по другому пути, мы должны изменить статические переменные пути в этих файлах.

Чтобы pip работал, вам не нужно этого делать, но я все равно это делаю. bin/activate, bin/activate.csh, bin/activate.fish

bin/pip, bin/pip2, bin/pip2.7

bin/easy_install, bin/easy_install2.7

3.) Чтобы pip работал, вы должны исправить интерпретатор python в файле pip, у него также есть статическое расположение интерпретатора, установленное virtualenv в процессе создания.

4.) Чтобы easy_install заработал? Вы угадали, исправьте местоположение переводчика.

Я надеюсь, что это помогло всем, кто будет читать это в будущем. Извините OP за опоздание.

У меня была такая же проблема.

Я удалил виртуальную среду и создал новую, что решило проблему.

Наверное, не тот ответ, на который вы надеялись, но поскольку он единственный ...

Вызов sudo pip вызовет глобальный пип, а не пип в вашем virtualenv. Активируйте / работайте в своей среде, затем просто позвоните pipне sudo pip, это может решить вашу проблему, как и мою.

Что ж, без административных привилегий вы очень ограничены в том, что можете делать. Если вам не разрешено повышать свой уровень или запрашивать привилегии, лучший способ, который я нашел для этого, - это создать другую среду, создать файл requirements.txt, загрузить все необходимые вам пакеты на свой компьютер (django), которые будут также находится в вашем файле требований, и он должен работать.

Была такая же проблема. В моем случае причина заключалась в том, что созданный виртуальный env был для python2.7 (по умолчанию), но я использовал pip3 для установки пакета. pip3 не присутствовал в моем virtualenv, поэтому по умолчанию использовался глобальный. Для меня исправление заключалось в использовании

virtualenv flask --python=python3

чтобы создать env.

Я столкнулся с той же проблемой, вызванной переименованием пользователя. Ответ Криспи совершенно правильный. И моё решение может быть удобнее.

наборы:
1. Введите путь к корзине виртуальной среды, например cd ~/virenv_dir/bin
2. Переименуйте все файлы в этом каталоге с помощью команды sed. sed -i 's/old_name/new_name/' *

В моем случае я определил два псевдонима (чтобы преодолеть некоторые другие проблемы в версии Python по умолчанию):

alias pip='/usr/bin/pip3'
alias python='/usr/bin/python3'

И это вызывало те же симптомы:

[Errno 13] Permission denied: '/usr/lib/python3.6/site-packages'

Удаление псевдонимов решило проблему (до или после создания virtualenv)