PIP não está instalando no diretório virtualenv

6

Eu estou tentando instalar o django em um virtualenv que já existe.

Seguindo as instruções listadas no site de instalação de pip aqui , executei o seguinte de SSH.

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

No entanto, na parte inferior da instalação, vejo isto:

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

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

Parece que está tentando instalá-lo no diretório global. Eu não tenho privilégios de sudo. Estou fazendo algo errado aqui?

Atualização: $ PATH = /var/django/myenv.env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

    
por Luke Sapan 26.07.2013 / 19:21

5 respostas

3

Desculpe por um ano de resposta tardia! Eu tive o mesmo problema e corrigi-lo, eu não sei se você mudou o nome de um diretório depois de criar o ambiente virtual, eu fiz embora. Se sim, então aqui está o que eu fiz.

1.) deactivate your v-env. Após a correção, você precisa reiniciar o v-env, assim como deactivate agora. certo?

2.) Agora, como criamos o v-env em um caminho diferente, precisamos alterar as variáveis do caminho estático nesses arquivos.

Para fazer o pip funcionar, você não precisa fazer isso, mas eu ainda faço. %código%, %código%, bin/activate

bin/activate.csh , %código%, bin/activate.fish

bin/pip , bin/pip2

3.) Para fazer o pip funcionar, você deve corrigir o interpretador python no arquivo pip, assim como um local de intérprete estático configurado pelo virtualenv no processo de criação.

4.) Para obter o easy_install funcionando? Você adivinhou, conserte a localização do intérprete.

Espero que isso ajude para qualquer pessoa que leia isso no futuro. Desculpe OP, por estar atrasado.

    
por 06.06.2015 / 18:07
2

Eu tive esse mesmo problema.

Eu deletei o ambiente virtual e criei um novo, que resolveu o problema.

Provavelmente não é a resposta que você estava esperando, mas já que é o único ...

    
por 03.03.2014 / 16:43
1

Bem, sem privilégios administrativos, você está muito limitado quanto ao que é capaz de fazer. Se você não tem permissão para se elevar ou pedir privilégios, a melhor maneira que encontrei foi criar outro ambiente, fazer um arquivo requirements.txt, fazer o download de todos os pacotes que você precisa para sua máquina (django) também estar localizado em seu arquivo de requisitos e deve funcionar.

    
por 03.03.2014 / 17:48
0

Tive o mesmo problema. No meu caso, o motivo foi que o env virtual criado era para python2.7 (o padrão), mas eu estava usando o pip3 para instalar um pacote. O pip3 não estava presente no meu virtualenv, então ele foi padronizado para o global. Para mim, a solução foi usar

virtualenv flask --python=python3

para criar o env.

    
por 20.11.2015 / 15:10
0

Eu encontrei o mesmo problema causado pela renomeação do usuário. A resposta de Crispy está totalmente certa. E minha solução pode ser mais conveniente.

setps:
1. Digite o caminho da bandeja do seu ambiente virtual, como cd ~/virenv_dir/bin
2. Renomeie todos os arquivos sob este diretório usando o comando sed. sed -i 's/old_name/new_name/' *

    
por 13.11.2017 / 13:11