Python - Virtualenv, python 3?
-
06-07-2019 - |
Pergunta
Parece todos recomenda virtualenv para várias versões Python (em OSX), mas fá-lo mesmo trabalho com Python 3.0? Eu baixei ele, e ele não parece .. E eu realmente não entendo como ele funciona, você pode 'ligar' em env em um momento ou algo assim? O que eu quero é deixar o sistema Python 2.5 (obviamente), e de ter python 3.1.1 com pygame subversão para escrever meu próprio material, e python 2.6 com pygame normais estável para usar para executar outras coisas, como jogos PyGame baixados da pygame .org. Qualquer ajuda sobre como conseguir isso? Obrigado.
OK percebi virtualenv não é o que estou procurando.
Solução
O seu caso de uso não realmente precisa virtualenv. Você só precisa instalar várias versões diferentes Python.
Outras dicas
É uma questão antiga até agora, mas eu achei-me no topo da pesquisa do Google para a resposta, e eu não acho que as respostas dadas são o que as pessoas estão procurando.
Pelo que entendi você deseja criar diferentes ambientes virtuais com diferentes versões do Python?
Isto é muito fácil, e você só precisa VIRTUALENV si.
Para, digamos, um Python 3:
$ virtualenv -p python3 p34env
(...)
New python executable in p34env/bin/python3.4
Also creating executable in p34env/bin/python
Installing setuptools, pip...done.
$ source p34env/bin/activate
(p34env)$ python -V
Python 3.4.2
(p34env)$ deactivate
$
Você pode usar o comando source
para ativar o venv e deactivate
de - você adivinhou - desativá-lo. Observe o prompt muda para indicar o env.
Para a versão padrão do seu sistema de Python que você simplesmente ignorar o argumento -p python3
, e você pode usar o argumento para apontar para qualquer versão que você deseja receber um caminho.
O último argumento é o nome (p34env
) e você pode fazer como muitos como você gosta, apenas dar-lhes nomes diferentes.
virtualenv
é projetado para criar ambientes isolados de um ambiente Python. O truque para usá-lo com várias instâncias Python é instalar virtualenv
em cada uma das versões do Python que você deseja usá-lo com, por exemplo:
/usr/bin/easy_install-2.6 virtualenv
/usr/local/bin/easy_install virtualenv
sudo port install py26-virtualenv
ou para invocá-lo com a versão destinada Python, por exemplo:
/usr/bin/python2.6 virtualenv.py ENV
/usr/local/bin/python2.6 virtualenv.py ENV
/opt/local/bin/python2.5 virtualenv.py ENV
Então, como tal, não resolve diretamente o problema (particularmente agudo no OS X) dos quais Python quer trabalhar com. Existem várias maneiras de lidar com essa questão:. Uso caminhos absolutos ao destinados Python (como nos exemplos acima), definir aliases shell, gerenciar cuidadosamente a ordem de pesquisa $PATH
, entre outros
No momento, AFAIK, virtualenv
não é suportado com o Python 3, porque, entre outras coisas, setuptools (a mágica por trás easy_install) ainda não é suportado em Python 3, embora não haja trabalho em andamento para uma solução para isso.
BTW, muitas pessoas usam de virtualenvwrapper Doug Hellman para simplificar o uso de virtualenv.
Para mim virtualenv3 funciona muito bem. Eu também tenho pypi.python.org/pypi/distribute instalado. Isso também funciona com o mencionado www.doughellmann.com/docs/virtualenvwrapper/. Eu testei só isso em Linux embora.
Não tenho certeza se eu entendi bem, mas aqui vai :)
Eu não sei sobre OS X, mas no Linux, você pode instalar ambos 2,6 e 3. Em seguida, você pode especificar a utilização python25 ou python3, ou alterar o / usr / bin / symlink python para a versão que você deseja usar por padrão.