Eu tenho um sistema Debian atualmente executando com o python 2.5.4. Eu tenho o virtualenv instalado corretamente, tudo está funcionando bem. Existe a possibilidade de eu poder usar um virtualenv com uma versão diferente do Python?
Compilei o Python 2.6.2 e gostaria de usá-lo com algum virtualenv. É suficiente substituir o arquivo binário? Ou tenho que mudar alguma coisa em relação às bibliotecas?
Respostas:
Basta usar a opção
--python
(ou curta-p
) ao criar sua instância virtualenv para especificar o executável Python que você deseja usar, por exemplo:NB Para Python 3.3 ou posterior, consulte a resposta de Aelfinn abaixo.
fonte
virtualenv -p `which python2.6` <path/to/new/virtualenv>
Desde o Python 3, os documentos do Python sugerem a criação do ambiente virtual com o seguinte comando:
Observe que
venv
não permite a criação de ambientes virtuais com outras versões do Python. Para isso, instale e use ovirtualenv
pacote .Informação obsoleta
O
pyvenv
script pode ser usado para criar um ambiente virtualmas está obsoleto desde o Python 3.6.
fonte
python3 -m venv <envname>
para evitar a necessidade de scripts stub para tudo.pyvenv
script está obsoleto no Python 3.6+, embora ovenv
próprio módulo subjacente não esteja. Então usepython 3 -m venv <myenvname>
como @PaulEveritt diz.pyvenv
oupython3 -m venv ...
NÃO instala opython-config
script. Isso significa que, mesmo após a ativação do ambiente Python3, o sistemapython-config
será invocado com conseqüências confusas. Veja este relatório de bug de 2011 github.com/pypa/virtualenv/issues/169 e minha pergunta stackoverflow.com/questions/42020937/…venv
não permite a criação de virtualenv com outras versões do Python." - Você tem certeza que isso é verdade? Parece funcionar muito bem para mim se eu criá-lo com uma versão específica do Python, por exemplopython3.5 -m venv <myenvname>
(desde que eu tenha essa versão do Python disponível).venv
com uma versão específica do Python é usando essa versão ao configurá-la. Por exemplo:python3.5 -m venv venv
Estas são as etapas que você pode seguir quando estiver em um ambiente de hospedagem compartilhada e precisar instalar e compilar o Python a partir da fonte e criar a
venv
partir da sua versão do Python. Para Python 2.7.9. você faria algo nesse sentido:ambiente virtual
Naturalmente, isso pode ser aplicável a qualquer situação em que você deseja replicar o ambiente exato em que trabalha e implementa.
fonte
~/.localpython/bin/virtualenv
vez de apenasvirtualenv
para concluir a instalação sem erros. Além disso, use emsource ve/bin/activate
vez desource activate
.fonte
-p
.python3.6
mas não quer tocarpython3.5
instalado no seu computador?Existe uma maneira mais fácil,
Graças a um comentário, isso só funciona se você tiver o python2.7 instalado no nível do sistema (por exemplo, /usr/bin/python2.7).
Caso contrário, se você estiver usando o homebrew, poderá usar o caminho para fornecer o que deseja.
Você pode encontrar o caminho para sua instalação python com
Isso também funcionará com o python 3.
Por fim, condensando-se em:
fonte
virtualenv venv --python=python3.6
bemvirtualenv env --python=python2
virtualenv venv --python=<insert_your_python_version_here>
onde<insert_your_python_version_here>
estava no meu casoC:\Python\Python368\python.exe
No Windows para mim, isso funciona:
sem o que
python.exe
eu tenhoWindowsError: [Error 5] Access is denied
, tenho o Python2.7.1 instalado com o virtualenv 1.6.1 e queria o python 2.5.2.fonte
Mac OSX 10.6.8 (Snow Leopard):
1) Quando você faz isso
pip install virtualenv
, o comando pip está associado a uma das suas versões do python evirtualenv
é instalado nessa versão do python. Você pode fazerpara ver qual versão do python é essa. Se você vir algo como:
então faça:
Você pode ver a versão python na saída.
Por padrão, essa será a versão do python usada para qualquer novo ambiente que você criar. No entanto, você pode especificar qualquer versão do python instalada no seu computador para usar dentro de um novo ambiente com
-p flag
:http://docs.python-guide.org/en/latest/dev/virtualenvs/
virtualenv
apenas copia python de um local no seu computador para o diretório my_env / bin / recém-criado.2) O python do sistema está dentro
/usr/bin
, enquanto as várias versões do python que eu instalei foram, por padrão, instaladas em:3) Os vários pitães que instalei têm nomes como
python2.7
oupython3.2
, e posso usá-los em vez de caminhos completos.======== VIRTUALENVWRAPPER =========
1) Tive alguns problemas para fazer o virtualenvwrapper funcionar. Foi isso que acabei colocando
~/.bash_profile
:2)
-p option
Funciona de maneira diferente com o virtualenvwrapper: tenho que especificar o caminho completo para o interpretador python a ser usado no novo ambiente (quando não quiser usar a versão python padrão):Diferente do virtualenv, o virtualenvwrapper criará o ambiente no local especificado pela variável de ambiente $ WORKON_HOME. Isso mantém todos os seus ambientes em um só lugar.
fonte
which pip
não me diz a versão do Python. Isso me dá isso/usr/local/bin/pip
./usr/local/bin
e o faz$ ls -al pip
, deverá ver algo como:pip -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip
mkproject
é o comando a ser usado se você deseja criar o diretório do projeto e um ambiente virtual de uma determinada versão python.mkproject -p /usr/bin/python3.6 myNewPython36Project
Esses dois comandos devem funcionar bem.
virtualenv -p python2 myenv
(Para python2)virtualenv -p python3 myenv
(Para python3)fonte
Suponha que você tenha atualmente o python 2.7 instalado no seu virtualenv. Mas, se você quiser usar
python3.2
, será necessário atualizar isso com:Em seguida, ative seu virtualenv :
e então faça:
python --version
no shell para verificar se sua versão está atualizada.fonte
-p
.Você pode ligar
virtualenv
com a versão python desejada. Por exemplo:Ou, como alternativa, aponte diretamente para o seu caminho virtualenv. por exemplo, para janelas:
E executando:
você pode ver a versão python instalada no ambiente virtual
fonte
pip3 install virtualenv
primeiroo
-p
abordagem funciona bem, mas você deve se lembrar de sempre usá-la. Se seu objetivo é mudar para uma versão mais recente do Python em geral, isso é uma dor e também pode levar a erros.Sua outra opção é definir uma variável de ambiente que faça a mesma coisa que
-p
. Defina isso através do seu~/.bashrc
arquivo ou onde quer que você gerencie variáveis de ambiente para suas sessões de login:Em seguida
virtualenv
, usará isso sempre que você não especificar-p
na linha de comando.fonte
export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/version
pelos documentos do virtualenvwrapper não funcionou, mas esta solução funcionou?virtualenvwrapper
usa quando executado, nada a ver com instalações.Ainda mais fácil, usando a substituição de comandos para encontrar o python2 para você:
virtualenv -p $(which python2) <path/to/new/virtualenv/>
Ou ao usar virtualenvwrapper:
mkvirtualenv -p $(which python2) <env_name>
fonte
Para Mac (High Sierra), instale o virtualenv no python3 e crie um virtualenv para python2:
fonte
python3 -m pip install virtualenv
No mac eu uso pyenv e virtualenvwrapper. Eu tive que criar um novo virtualenv. Você precisa de homebrew, que eu assumo que você instalou se estiver em um mac, mas apenas por diversão:
Também congelei meus requisitos primeiro para poder simplesmente reinstalar no novo virtualenv com:
fonte
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
versões, não versão. Se o SO permitisse edições curtas, eu o teria corrigido.pyenv
inclui suporte ao virtualenv por meio dopyenv-virtualenv
plug - in, então acho que realmente não preciso do virtualenvwrapper. Mais detalhes na minha resposta pyenv .[Novembro de 2019] Eu precisava instalar um ambiente Python 3.7 (env) no meu sistema Arch Linux baseado em Python 3.8. O Python 3.7 não estava mais no sistema, então não pude fazer o downgrade do Python para instalar um pacote que eu precisava.
Além disso, eu queria usar esse pacote / Python 3.7 dentro de um ambiente virtual (venv). Foi assim que eu fiz.
Faça o download dos arquivos de origem da versão do Python:
Eu baixei os arquivos de origem Python 3.7.4 de
para
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz
Eu então extraí esse arquivo morto (arquivos de origem) para
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
Instalação:
[Nota: no meu sistema env, não um venv.]
Examine as versões instaladas do Python:
Como criar um venv para uma versão específica do Python:
Crie o Python 3.7 venv [em um sistema operacional / sistema Python 3.8]:
Adicionado a
~/.bashrc
:Teste o Python 3.7 venv:
fonte
No subsistema Windows para linux:
Crie um ambiente para python3:
Ative-o:
fonte
No Windows:
ou
Isso usa o
py
iniciador que encontrará o executável python certo para você (supondo que você o tenha instalado).fonte
Sim , as respostas acima estão corretas e funcionam bem em sistemas baseados em Unix, como Linux e MAC OS X .
Tentei criar o virtualenv para Python2 e Python3 com os seguintes comandos.
Aqui, usei venv2 e venv3 como seus nomes para Python2 e Python3, respectivamente.
fonte
Funcionou para mim
fonte
Eu uso o pyenv para gerenciar minha versão do python.
Verifique sua versão do python:
Crie o ambiente virtual com venv :
Em seguida, ative o ambiente virtual:
Verifique sua versão do python:
Pode ser necessário remover o ambiente virtual anterior
fonte
Estes parecem um pouco complicados para o Windows. Se você estiver no Windows executando o python 3.3 ou posterior, poderá usar o iniciador de python
py
para fazer isso com muito mais facilidade. Simplesmente instale a versão diferente do python e execute:Isso criará um ambiente virtual chamado
env
em seu diretório atual, usando python[my version]
. Como um exemplo:Isso cria um ambiente virtual chamado
env
usando python3.7 e o ativa. Nenhum caminho ou outro material complexo é necessário.fonte
py -3.7 -m venv env
(o que-m
está faltando)?Link para Criando virtualenv
fonte
Para os sistemas Debian (debian 9) em 2019, descobri uma solução simples que pode resolver o problema de dentro do ambiente virtual.
Suponha que o ambiente virtual tenha sido criado via:
mas tem apenas versões de
python2
epython2.7
, e você precisa dos recursos recentes do python3.7.Em seguida, basta executar o comando:
adicionará pacotes python3.7 se eles já estiverem disponíveis no seu sistema.
fonte
Este foi um erro com o virtualenv. Apenas atualizar o seu pip deve ser a solução.
pip install --upgrade virtualenv
fonte
Como já mencionado em várias respostas, o uso do virtualenv é uma solução limpa. No entanto, uma pequena armadilha que todos devem estar cientes é que, se um alias para python for definido em bash_aliases como:
esse alias também será usado dentro do ambiente virtual. Portanto, nesse cenário, a execução
python -V
dentro do ambiente virtual sempre será exibida,3.6
independentemente do intérprete usado para criar o ambiente:fonte
Funcionou para mim no Windows com a instalação do python 2:
Foi assim que criei o ambiente virtual Python 3 na minha instalação existente do python 2.
fonte
Você pode fazer isso fazendo o seguinte:
fonte
Sim, você só precisa instalar a outra versão do python e definir o local da sua outra versão do python em seu comando, como:
fonte
Aqui está o passo a passo de como criar o ambiente virtual na pasta Código do Visual Studio: Usei o Powershell (modo Administrador):
1. Crio uma pasta VSCode - "D: \ Code_Python_VE" onde desejo criar o ambiente virtual.
2. Em seguida, digite o comando - "pip3 install virtualenv". (D: \ Code_Python_VE> pip3 instala o virtualenv) 3. D: \ Code_Python_VE> python3 -m venv project_env
4. D: \ Code_Python_VE> project_env \ Scripts
\ enable.bat 5. D: \ Code_Python_VE> ls - Listará um novo diretório "project_env".
6. D: \ Code_Python_VE> código. Isso iniciará o Visual Studio Code. Verifique se o comando é (código).
7. Crie launch.jason com o seguinte conteúdo:
(Por favor, procure como ir para a janela Debug e adicionar nova configuração no código VS).
(project_env) d: \ Code_Python_VE> python -m pip install --upgrade
Espero que isso ajude.
fonte
UBUNTU 19.04 / Global Python 3.7.
Isso funcionou para mim, permitindo um ambiente Python 3.8 usando o venv recomendado para o desenvolvimento do python 3.
Instale os módulos venv 3.8 e 3.8
$ sudo apt install python3.8 python3.8-venv ## além de outros módulos que você precisa
Crie seu Env virtual usando a versão python que você deseja nesse env
$ /usr/bin/python3.8 -m venv python38-env
mude para o seu ambiente virtual
$ source python38-env / bin / ativar
python -V = python 3.8
fonte