Usando o virtualenv , eu executo meus projetos com a versão padrão do Python (2.7). Em um projeto, preciso usar o Python 3.4.
Eu costumava brew install python3
instalá-lo no meu Mac. Agora, como crio um virtualenv que usa a nova versão?
por exemplo, sudo virtualenv envPython3
Se eu tentar:
virtualenv -p python3 test
Eu recebo:
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.4.0_1/Frameworks/Python.framework/Versions/3.4'
New python executable in test/bin/python3.4
Also creating executable in test/bin/python
Failed to import the site module
Traceback (most recent call last):
File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/site.py", line 67, in <module>
import os
File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/os.py", line 634, in <module>
from _collections_abc import MutableMapping
ImportError: No module named '_collections_abc'
ERROR: The executable test/bin/python3.4 is not functioning
ERROR: It thinks sys.prefix is '/Users/user/Documents/workspace/test' (should be '/Users/user/Documents/workspace/test/test')
ERROR: virtualenv is not compatible with this system or executable
python
python-3.x
virtualenv
Prometeu
fonte
fonte
Respostas:
simplesmente corra
Atualizar após a edição do OP:
Houve um erro na versão do virtualenv do OP, conforme descrito aqui . O problema foi corrigido executando:
fonte
virtualenv -p $(which python3) envname
virtualenv -p python3 my_virtual_env
, tambémpython3
é acessível de fora do ambiente virtual?bin
,lib
,include
,local
eshare
diretórios no diretório raiz do seu projeto. 2. Na execução do terminal:virtualenv -p python3 .
que inicializa um novo virtualenv Python3 no diretório atual.O Python 3 possui um suporte interno para ambientes virtuais - venv . Talvez seja melhor usá-lo. Referindo-se aos documentos:
Atualização para Python 3.6 e mais recente:
Como pawciobiel comenta corretamente ,
pyvenv
está obsoleto no Python 3.6 e a nova maneira é:fonte
python3 -m venv /path/v3
uma vez que o script pyvenv foi preterido a partir do Python 3.6.python3 -m venv /path/v3
erros aqui.Error: Command '['/path/v3/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit
Estou esquecendo de algo? Com a--without-pip
opção, pelo menos, cria o venv com ativar / desativar scripts corretamente.Eu tentei pyenv e é muito útil para alternar versões do python (global, local na pasta ou no virtualenv):
instale a versão Python que você deseja:
e simplesmente crie virtualenv com caminho para a versão necessária do interpretador:
É isso aí, verifique a versão:
Também existem plugins para pyenv pyenv-virtualenv, mas isso não funcionou para mim de alguma forma.
fonte
Instale os pré-requisitos.
Crie um ambiente virtual baseado em Python3. Opcionalmente, habilite o
--system-site-packages
sinalizador.Definido no ambiente virtual.
Instale outros requisitos usando o
pip
gerenciador de pacotes.Ao trabalhar em vários projetos python simultaneamente, geralmente é recomendável instalar pacotes comuns como
pdbpp
globalmente e depois reutilizá-los em virtualenvs.O uso dessa técnica economiza muito tempo na busca e instalação de pacotes, além de consumir espaço em disco e largura de banda de rede mínimos.
Instruções específicas do Django
Se houver muitos pacotes python em todo o sistema, é recomendável não usar
--system-site-packages
flag, especialmente durante o desenvolvimento, pois notei que isso diminui bastante a inicialização do Django. Presumo que a inicialização do ambiente do Django esteja verificando manualmente e anexando todos os pacotes de sites do caminho do sistema, o que pode ser o motivo. Atépython manage.py shell
fica muito lento.Dito isto, experimento que opção funciona melhor. Pode ser seguro simplesmente pular
--system-site-packages
flag para projetos do Django.fonte
apt-get
, masbrew
)trabalhou para mim.
fonte
The executable python3 (from --python=python3) does not exist
: o que você faria? Eu queria preparar isntall python3 mas não tinha certeza se isso era uma boa idéia ou se o meu sistema iria ficar confuso de qual versão python Eu estou usandoVocê pode especificar uma versão específica do Python ao criar um ambiente.
É mencionado em virtualenv.py
Em alguns casos, esse deve ser o caminho completo para o executável:
Como
-p
funcionafonte
Eu tive a mesma
ERROR
mensagem. A solução da tbrisker não funcionou no meu caso. Em vez disso, isso resolveu o problema:fonte
É tudo o que você precisa para executar um ambiente virtual em python / python3
Primeiro, se
virtualenv
não estiver instalado, executeAgora execute:
Em algum momento o cmd
virtualenv
falhar, se for o caso, use isto:Agora ative o ambiente virtual:
Ou:
Agora corra
Você deve ver o caminho completo para o seu diretório e
<env_name>/bin/python
sufixoPara sair do virtualenv, execute:
fonte
O Python agora vem com sua própria implementação de ambiente virtual, com o nome de "venv". Eu sugeriria usar isso, em vez de virtualenv.
Citando venv - docs ,
Para o Windows, para iniciar o venv em algum projeto, abra o cmd:
(Sugiro usar aspas duplas no caminho do diretório, se houver algum espaço. Ex: "C: / My Dox / Diretório espaçado / Algo")
Uma vez configurado o venv, você verá algumas novas pastas dentro do diretório do projeto. Um deles seria "Scripts".
Para ativar ou invocar venv, você precisa:
Você pode desativar um ambiente virtual digitando "desativar" no seu shell. Com isso, você está pronto para instalar as bibliotecas específicas do seu projeto, que residirão na pasta "Lib".
================================ Editar 1 ================ ==================== O cenário que será discutido abaixo não é o originalmente solicitado, apenas adicionando isso no caso de alguém usar o vscode com extensão python
Caso você use o código vs com sua extensão python, você pode enfrentar um problema com o seu pylint, que aponta para a instalação global. Nesse caso, o pylint não poderá ver os módulos que estão instalados no seu ambiente virtual e, portanto, mostrará erros durante a importação.
Aqui está um método simples para superar isso.
Basicamente, estamos ativando o ambiente primeiro e depois invocando o código vs para que o pylint inicie no ambiente e possa ver todos os pacotes locais.
fonte
virtualenv
no dia-a-dia de ambientes virtuais (workon
, etc.), mas a criação confiável de novos ambientes virtuaispython3.x
é a única maneira que achei que funcionava.Além das outras respostas, recomendo verificar qual instância do virtualenv você está executando:
Se isso aparecer em / usr / local / bin, é possível - e até provável - que você tenha instalado o virtualenv (possivelmente usando uma instância de easy_tools ou pip) sem usar o gerenciador de pacotes do seu sistema (brew no caso do OP). Este foi o meu problema.
Anos atrás - quando eu era ainda mais ignorante - eu havia instalado o virtualenv e estava ocultando o virtualenv fornecido pelo pacote do meu sistema.
Depois de remover esse velho e virtualenv quebrado, meus problemas desapareceram.
fonte
Em python3.6 eu tentei
python3 -m venv myenv
, conforme a documentação, mas estava demorando tanto. Portanto, o comando muito simples e rápido é quepython -m venv yourenv
funcionou para mim no python3.6.fonte
No Mac, tive que fazer o seguinte para fazê-lo funcionar.
fonte
which python2.7
ouwhich python3.5
ouwhich python3.6
, então, substituir o cerca--python=DIRECTORY
Se você instalar o python3 (
brew install python3
) junto com o virtualenv burrito , poderá fazermkvirtualenv -p $(which python3) env_name
Claro, eu sei que o virtualenv burrito é apenas um invólucro, mas me serviu bem ao longo dos anos, reduzindo algumas curvas de aprendizado.
fonte
virtualenv --python=/usr/local/bin/python3 <VIRTUAL ENV NAME>
isso adicionará o caminho python3 ao seu ambiente virtual.fonte
Funcionou para mim
fonte
Para quem tem problemas ao trabalhar com o Anaconda3 (Python 3).
Você poderia usar
Para ativar o ambiente (Linux, MacOS)
Para Windows
fonte
Eu tentei todas as coisas acima, ainda não funcionou. Então, como força bruta, eu apenas reinstalei a anaconda, reinstalei o virtualenv ... e funcionou.
fonte
Eu queria manter o python 2.7.5 como versão padrão no Centos 7, mas o python 3.6.1 em um ambiente virtual rodando ao lado de outros ambientes virtuais no python 2.x
Encontrei no link abaixo a melhor solução para a versão mais recente do python (python 3.6.1) https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a-local-programming -environment-for-python-3 . Ele mostra as etapas para diferentes plataformas, mas as etapas básicas são
fonte
Os comandos simples abaixo podem criar um ambiente virtual com a versão 3.5
se você quiser a versão env virtual como 3.6
fonte
Para aqueles que estão usando o pipenv e desejam instalar uma versão específica:
fonte
Eu recebi o mesmo erro devido a um conflito com a instalação do miniconda3, portanto, quando você digita "which virtualenv" e se instalou o miniconda e está apontando para essa instalação, você pode removê-lo (se você gosta de mim e não se mudou) ainda) ou altere sua variável de ambiente para apontar para a instalação desejada.
fonte
Na linha de comando do Windows, o seguinte funcionou para mim. Primeiro descubra onde estão os seus executáveis python:
Isso produzirá os caminhos para os diferentes python.exe no seu sistema. Aqui estavam os meus:
Portanto, para o Python3, ele estava localizado no primeiro caminho para mim, então eu CD para a pasta raiz do aplicativo onde desejo criar uma pasta do ambiente virtual. Em seguida, corro o seguinte, que inclui o caminho do meu executável Python3, nomeando meu ambiente virtual 'venv':
Em seguida, ative o ambiente virtual:
Por fim, instale as dependências para este ambiente virtual:
Esse requisitos.txt pode ser preenchido manualmente se você conhecer as bibliotecas / módulos necessários para seu aplicativo no ambiente virtual. Se você teve o aplicativo em execução em outro ambiente, poderá produzir automaticamente as dependências executando o seguinte (cd na pasta do aplicativo no ambiente em que está trabalhando):
Depois que você tiver os requisitos.txt "congelados", poderá instalar os requisitos em outra máquina ou ambiente limpo com o seguinte (após o CD na pasta do aplicativo):
Para ver sua versão do python no ambiente virtual, execute:
Então voilá ... você tem seu Python3 rodando em seu ambiente virtual. Saída para mim:
fonte