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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top