Como ativar o virtualenv?

235

Passei por pesquisas e tentei várias alternativas sem sucesso e passei vários dias nisso agora - me deixando louco.

Rodando no Red Hat Linux com Python 2.5.2 Começou a usar o Virtualenv mais recente, mas não conseguiu ativá-lo. Encontrei em algum lugar uma versão anterior necessária, então usei o Virtualenv 1.6.4, pois isso deve funcionar com o Python 2.6.

Parece instalar o ambiente virtual ok

[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.

O ambiente parece ok

[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin  include  lib

Tentando ativar

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Chmod verificado

[necrailk@server6 ~/virtual]$ cd bin
[necrailk@server6 bin]$ ls -l
total 3160
-rw-r--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r-

Problema, então eu mudei

[necrailk@server6 bin]$ ls -l
total 3160
-rwxr--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r--    1 necrailk biz12        1005 Jan 30 11:38 activate_this.py
-rwxr-xr-x    1 necrailk biz

Tente activatenovamente

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

Ainda sem alegria ...

Larry
fonte
6
você já tentou "source ~ / virtual / bin / enable"?
mmbrian
4
A partir do diretório do seu ambiente, faça . bin/activatee deve funcionar bem.
Dansalmo
1
Eu acho que você só precisava usar o sourcecomando, ou sejasource bin/activate
Hack-R
1
Eu acho que você tem que fazer isso a partir do diretório virtualenv então primeiro cd ~/.virtualenvs/*environmentname*entãosource ~/.virtual/bin/activate
11m0

Respostas:

311

Aqui está o meu fluxo de trabalho depois de criar uma pasta e cdinseri-la:

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python
topherjaynes
fonte
4
ok, tentei isso sem alegria [necrailk @ server6 ~ / virtual] $ cd [necrailk @ server6 ~] $ $ source virtual / bin / active source: variável indefinida. [necrailk @ server6 ~] $ sh virtual / bin / ativar [necrailk @ server6 ~] $
larry
8
Não digite o $personagem, que parece II como você fez aqui: [necrailk@server6 ~]$ $source. $é usado para indicar um prompt de comando.
23713 Justin Garrick
3
Ainda está recebendo o erro de incorrectamente colocado () ... o que fazer?
2
mesmo erro aqui :( user @ mintdesk ~ / python_v $ venv / bin / activate bash: venv / bin / activar: Permissão negada
Rui Lima
1
Uma alternativa para a 'fonte' de digitação todo o tempo é usar um '':$ . venv/bin/activate
karwag
89

Você esqueceu de fazer source bin/activateonde source é um nome executável. Também me impressionou algumas vezes, é fácil pensar que o manual está dizendo "execute isso a partir da raiz da pasta do ambiente".

Não há necessidade de tornar activateexecutável via chmod.

kqw
fonte
4
OP digitado . bin/activate. Observe o ., que é um sinônimo source.
Thomas
1
"origem é um nome de executável" ... qual executável? cmd.exe? powershell.exe?
StingyJack
1
Estou tentando ativar um ambiente do cron, e ele não funcionaria sem ser executável (chmod 755).
Tahlor 26/01
70

Você pode fazer

source ./python_env/bin/activate

ou simplesmente vá para o diretório

cd /python_env/bin/

e depois

source ./activate

Boa sorte.

cquptzzq
fonte
27

Cd para o caminho do ambiente, vá para a pasta bin. Neste ponto, quando você usa o comando ls, deverá ver o arquivo "ativar".

agora digite

source activate
Reihan_amn
fonte
23

Vá para o diretório do projeto. No meu caso, microblogé o diretório do projeto do balão e, no microblogdiretório, deve haver appe venvpastas. Em seguida, execute o comando abaixo: Este é um funcionou para mim no Ubuntu.

source venv/bin/activate

insira a descrição da imagem aqui

GNK
fonte
17

O problema é o /bin/.comando. Isso é muito estranho desde então. deve sempre ser um link para o diretório em que ele está. (Honestamente, a menos que .seja um alias ou função estranha, eu nem vejo como é possível.) Também é um pouco incomum que seu shell não tenha um . built-insource .

Uma solução rápida seria apenas executar o virtualenv em um shell diferente. (Uma segunda vantagem óbvia é que, em vez de precisar, deactivatevocê pode apenas exit.)

/bin/bash --rcfile bin/activate

Se o seu shell o suportar, você também pode ter o sourcecomando fora do padrão , que deve fazer o mesmo que ., mas pode não existir. (Tudo dito, você deve tentar descobrir por que seu ambiente é estranho ou isso causará dor novamente no futuro.)

A propósito, você não precisava chmod +xdesses arquivos. Os arquivos só precisam ser executáveis ​​se você quiser executá-los diretamente . Nesse caso, você está tentando iniciá-los ., para que eles não precisem.

kojiro
fonte
2
Além disso, você deve fonte bin/activate, não .bin/activate. Pode até funcionar com o ....
krlmlr
@krlmlr É verdade, eu tinha assumido que era um erro de digitação, já que na próxima linha ele cdestá dentro bin.
kojiro
1
oi [necrailk @ server6 ~ / virtual] $ source bin / active Mal colocado () 's. [necrailk @ server6 ~ / virtual] $
larry
2
korjiro - você estava certo - eu fiz necessidade de descobrir por que o ambiente era estranho - que acabou por ser uma festança padrão de comutação não implementação- para bater padrão resolvido todos os problemas
Larry
@larry feliz que deu certo: Não se esqueça de marcar a resposta como correta.
Kojiro
17

$ mkdir <YOURPROJECT> Crie um novo projeto

$ cd <YOURPROJECT> Mude o diretório para esse projeto

$ virtualenv <NEWVIRTUALENV> Criando um novo virtualenv

$ source <NEWVIRTUALENV>/bin/activate Ativando esse novo virtualenv

ferrugem
fonte
12

ao invés de ./activate

usar source activate

Veja esta captura de tela

Joy Mukherjee
fonte
9

Para Windows Você pode executar como:

PARA criar o ambiente virtual como: virtualenv envName –python = python.exe (se não criar variável de ambiente)

Para ativar o ambiente virtual:> \ path \ to \ envName \ Scripts \ active

Para desativar o ambiente virtual virtual:> \ path \ to \ env \ Scripts \ desativar

Funciona bem na nova versão python.

susan097
fonte
Para adicionar detalhes esclarecedores a isso: depois de criar seu ambiente virtual virtualenv venv , vá manualmente para a pasta Scripts criada apenas para examinar os arquivos, você verá alguns arquivos de ativação. Então é aí que a ativamos no Windows. Então, cdna sua pasta Scripts, digite . activatesua linha de comando (inclua um espaço após o período). Você notará que o seu caminho na linha de comando é alterado, adicionando (venv) ao início do seu caminho. Isso significa que agora está ativado.
Azurespot 02/12/19
6
source virtualen_name/bin/activate

código

Harish Kumawat
fonte
4
Esta resposta já é fornecida (com mais informações) nas respostas existentes. Ao responder perguntas mais antigas com respostas, verifique se a sua resposta contribui com algo novo ou é de melhor qualidade em comparação com as respostas existentes.
Mark Rotteveel
4

Eu recomendaria o virtualenvwrapper também. Faz maravilhas para mim e como sempre tenho problemas com a ativação. http://virtualenvwrapper.readthedocs.org/en/latest/

Erika
fonte
oi fonte e. (ponto) parecem necrailk intercambiáveis ​​@ server6 ~ / virtual] $ source bin / active Badly colocado () 's. este não parece trabalho
Larry
permissão do meu bin: drwxrwxr-x 2 erika erika 4096 2013-01-24 14:37 bin /
Erika
de acordo com os documentos, o virtuallenvwrapper atualmente não está testado para python2.5, portanto, não é confortável adicionar aos meus possíveis problemas - mas obrigado
larry
Apenas um resumo. descobri que meu host estava usando um shell não padrão. Quando alterado para o Bash normal, tudo funcionava como deveria. agora exibe env virtual no prompt e todos os caminhos são modificados de acordo. Muito obrigado pela ajuda e sugestões.
Larry
3

Crie seu próprio ambiente virtual Python chamado <Your Env _name >:. Eu dei VE.

git clone https://github.com/pypa/virtualenv.git
python virtualenv.py VE

Para ativar seu novo ambiente virtual, execute ( observe que não está ./aqui ):

. VE/bin/activate

Saída de amostra ( aviso de nota alterado ):

(VE)c34299@a200dblr$

Depois que seu ambiente virtual estiver definido, você poderá remover o Virtualenvrepositório.

Manas
fonte
2
Você não deve verificar o ramo principal do virtualenv e esperar que ele realmente funcione. Use uma versão marcada.
precisa saber é o seguinte
3

No Mac, altere o shell para BASH (observe que o ambiente virtual funciona apenas no shell bash)

[user@host tools]$. venv/bin/activate 

.: Command not found.

[user@host tools]$source venv/bin/activate

Badly placed ()'s.

[user@host tools]$bash

bash-3.2$ source venv/bin/activate

(venv) bash-3.2$ 

Bingo, funcionou. Veja o prompt alterado.

No Ubuntu:

user@local_host:~/tools$ source toolsenv/bin/activate

(toolsenv) user@local_host~/tools$ 

Nota: prompt alterado

sunil_kumar_sahu
fonte
2

Eu tive problemas para rodar o source / bin / active e percebi que estava usando o tcsh como meu shell de terminal em vez do bash. uma vez que eu mudei, fui capaz de ativar o venv.

Jason
fonte
1

Windows 10

No Windows, esses diretórios são criados:

Diretórios do ambiente virtual do Windows 10

Para ativar o ambiente virtual no Windows 10.

down\scripts\activate

O diretório \ scripts contém o arquivo de ativação.

Linux Ubuntu

No Ubuntu, esses diretórios são criados:

Diretórios Linux Ubuntu Virtual Environment

Para ativar o ambiente virtual no Linux Ubuntu.

source ./bin/activate

O diretório / bin contém o arquivo de ativação.


Ambiente virtual copiado do Windows para Linux Ubuntu vice-versa

Se a pasta do ambiente virtual copiou do Windows para o Linux Ubuntu, de acordo com os diretórios:

source ./down/Scripts/activate
Muhammad Faizan Fareed
fonte
1

executar esse código, ele será ativado se você estiver em uma máquina Windows
source venv/Scripts/activate

insira a descrição da imagem aqui

Jeffery White
fonte
0

Provavelmente um pouco tarde para postar minha resposta aqui, mas ainda vou postar, isso pode beneficiar alguém,

Eu havia enfrentado o mesmo problema,

A principal razão é que eu criei o virtualenv como um usuário "root". Mais tarde, tentei ativá-lo usando outro usuário.

O chmod não funcionará, pois você não é o proprietário do arquivo; portanto, a alternativa é usar chown (para alterar a propriedade)

Por exemplo:

Se você criou seu virtualenv em / home / abc / ENV

Em seguida, CD para / home / abc

e execute o comando: chown -Rv [usuário para quem você deseja alterar a propriedade] [pasta / nome do arquivo cuja propriedade precisa ser alterada]

Neste exemplo, os comandos seriam: chown -Rv abc ENV

Depois que a propriedade for alterada com sucesso, você poderá simplesmente executar a fonte /ENV/bin/./activate e poderá ativar o virtualenv corretamente.

Lokendra
fonte
0

1- abra o powershell e navegue até a pasta do aplicativo. 2- digite a pasta virtualenv ex: cd. \ Venv \ Scripts \ 3- virtualenv ativo por tipo.

aly
fonte