Eu tinha duas versões do Python instaladas na minha máquina (versões 2.6 e 2.5). Eu quero executar 2.6 para um projeto e 2.5 para outro.
Como posso especificar qual eu quero usar?
Estou trabalhando no Windows XP SP2.
Eu tinha duas versões do Python instaladas na minha máquina (versões 2.6 e 2.5). Eu quero executar 2.6 para um projeto e 2.5 para outro.
Como posso especificar qual eu quero usar?
Estou trabalhando no Windows XP SP2.
Respostas:
Executar uma cópia diferente do Python é tão fácil quanto iniciar o executável correto. Você mencionou que iniciou uma instância python, na linha de comando, simplesmente digitando python
.
O que isso faz no Windows é rastrear a %PATH%
variável de ambiente, procurando por um executável, arquivo em lote ( .bat
), arquivo de comando ( .cmd
) ou algum outro executável a ser executado (isso é controlado pela PATHEXT
variável de ambiente), que corresponde ao nome fornecido. Quando encontra o arquivo correto para executar, o arquivo está sendo executado.
Agora, se você instalou duas versões python 2.5 e 2.6, o caminho terá os dois diretórios, algo como, PATH=c:\python\2.5;c:\python\2.6
mas o Windows deixará de examinar o caminho quando encontrar uma correspondência.
O que você realmente precisa fazer é chamar explicitamente um ou ambos os aplicativos, como c:\python\2.5\python.exe
ou c:\python\2.6\python.exe
.
A outra alternativa é criar um atalho para o respectivo python.exe
chamado, um deles python25
e o outro python26
; você pode simplesmente executar python25
na sua linha de comando.
Adicionando mais duas soluções ao problema:
#! c:\[path to Python 2.5]\python.exe
- para scripts que você deseja executar com o Python 2.5
#! c:\[path to Python 2.6]\python.exe
- para scripts que você deseja executar com o Python 2.6
ou, em vez de executar o python
comando, execute o comando pylauncher ( py
) especificando qual versão do Python você deseja;
py -2.6
- versão 2.6 - versão
py -2
mais recente instalada 2.x
py -3.4
- versão 3.4
py -3
- versão mais recente instalada 3.x
virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]
virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]
por exemplo
virtualenv -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
então você pode ativar o primeiro e trabalhar com o Python 2.5 assim
c:\venvs\2.5\activate
e quando quiser mudar para o Python 2.6,
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate
. Isso está no Windows 10, se isso faz diferença. Fora isso, funciona como um encanto, obrigado.
A partir do Python 3.3, existe o iniciador oficial do Python para Windows ( http://www.python.org/dev/peps/pep-0397/ ). Agora, você pode usar o #!pythonX
para determinar a versão desejada do intérprete também no Windows. Veja mais detalhes no meu outro comentário ou leia o PEP 397.
Resumo: O py script.py
lança a versão Python declarada em #!
ou Python 2 se #!
estiver ausente. O py -3 script.py
lançamento do Python 3.
.py
extensão. O iniciador em si está instalado no C:\Windows
que já está no PATH
. Dessa forma, também a PATH
variável não precisa ser modificada.
Conforme @alexander, você pode criar um conjunto de links simbólicos como abaixo. Coloque-os em algum lugar que esteja incluído no seu caminho para que possam ser facilmente chamados
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
Desde que c: \ bin ou onde quer que você os coloque esteja no seu caminho, agora você pode ir
> python25
mklink
está disponível apenas nativamente no Windows Vista / 2008 +. No XP e no Server 2003, um "hardlink" poderia ser criado usando fsutil hardlink create <new filename> <existing filename>
e colocando ou movendo o <novo nome de arquivo> para algum lugar no seu caminho. No entanto, os hardlinks funcionam apenas na mesma unidade.
instalar python
variável de ambiente
PYTHON2_HOME: C:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
renomear arquivo
pip
python2 -m pip install package
python3 -m pip install package
python
comando seria confuso para o SO.
Por exemplo, para o tipo de versão 3.6 py -3.6
. Se você também possui versões de 32 e 64 bits, basta digitar py -3.6-64
ou py -3.6-32
.
py
executável - é uma adição apenas do Windows? É possível incorporar isso em um script de linha de comando de plataforma cruzada que tem no topo: #!/usr/bin/env python3
por exemplo?
Quando você instala o Python, ele não substitui outras instalações de outras versões principais. Portanto, a instalação do Python 2.5.x não substituirá o Python 2.6.x, embora a instalação do 2.6.6 substitua o 2.6.5.
Então você pode simplesmente instalá-lo. Então você chama a versão Python desejada. Por exemplo:
C:\Python2.5\Python.exe
para Python 2.5 no Windows e
C:\Python2.6\Python.exe
para Python 2.6 no Windows ou
/usr/local/bin/python-2.5
ou
/usr/local/bin/python-2.6
no Windows Unix (incluindo Linux e OS X).
Quando você instala no Unix (incluindo Linux e OS X), você recebe um python
comando genérico instalado, que será o último que você instalou. Isso geralmente não é um problema, pois a maioria dos scripts chama explicitamente /usr/local/bin/python2.5 ou algo apenas para se proteger. Mas se você não quiser fazer isso, e provavelmente não, poderá instalá-lo assim:
./configure
make
sudo make altinstall
Observe o "altinstall" que significa que o instalará, mas não substituirá o python
comando.
No Windows, você não recebe um python
comando global , pelo que sei, o que não é um problema.
C:\Python2.5
ou C:\Python2.6
aparecer em sua PATH
variável de ambiente, a versão correspondente do Python se tornará o padrão, a menos que você o substitua, especificando explicitamente um caminho diferente para o .exe que você deseja usar.
Eu recomendo fortemente o projeto pyenv-win .
Graças ao trabalho de kirankotari , agora temos uma versão para Windows do pyenv.
Aqui está um hack rápido:
C:\Users\Your name
)name_of_your_shortcut.lnk
(eu uso p27.lnk
)cp c: \ python27 \ bin \ python.exe como python2.7.exe
cp c: \ python34 \ bin \ python.exe como python3.4.exe
eles estão todos no caminho do sistema, escolha a versão que você deseja executar
C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>
C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Usando um arquivo em lotes para alternar, fácil e eficiente no Windows 7. Eu uso isso:
Na caixa de diálogo da variável de ambiente (C: \ Windows \ System32 \ SystemPropertiesAdvanced.exe),
Na seção variáveis de usuário
% pathpython% adicionado à variável de ambiente do caminho
removeu quaisquer referências a patches de python
Na seção variáveis de sistema
Criei arquivos em lote para todas as instalações python (exemplo: 3,4 x64
Nome = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) apenas para lembrar.
Conteúdo do arquivo =
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
Para alternar entre versões, eu executo o arquivo em lotes no modo de administrador.
!!!!! As alterações são efetivas para as janelas do prompt de comando SUBSEQUENT OPENED. !!!
Então, eu tenho controle exato sobre isso.
A maneira mais fácil de executar várias versões do python no Windows é descrita abaixo:
1) Faça o download das versões mais recentes do python em python.org/downloads , selecionando a versão relevante para o seu sistema.
2) Execute o instalador e selecione Adicionar python 3.x ao caminho para definir o caminho automaticamente no python 3 (basta clicar na caixa de seleção). Para o python 2, abra o instalador do python 2, selecione as preferências desejadas, mas lembre-se de definir Add python.exe no caminho para Será instalado no disco rígido local . Agora, clique em Avançar e aguarde o instalador terminar.
3) Quando as duas instalações estiverem completas. Clique com o botão direito do mouse no meu computador - Vá para propriedades - Selecione configurações avançadas do sistema - Vá para variáveis de ambiente - Clique em novo em Variáveis do sistema e adicione uma nova variável do sistema com o nome da variável como PY_PYTHON e defina esse valor da variável como 3 . Agora clique em OK e você deve terminar.
4) Agora, para testar isso, abra o prompt de comando . Quando você estiver lá, digite python ou py , ele deve abrir o python3 .
5) Agora saia do python3 digitando exit () . Agora digite py -2 ele deve abrir o python 2.
Se nada disso funcionar, reinicie o computador e, se o problema persistir, desinstale tudo e repita as etapas.
Obrigado.
Você pode criar diferentes ambientes de desenvolvimento python graficamente a partir do Anaconda Navigator. Como tive o mesmo problema ao trabalhar com diferentes versões de python, usei o anaconda navigator para criar diferentes ambientes de desenvolvimento de python e usei diferentes versões de python em cada ambiente.
Aqui está a documentação de ajuda para isso.
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
Usando o Rapid Environment Editor, você pode empurrar para o topo o diretório da instalação desejada do Python. Por exemplo, para iniciar o python a partir do diretório c: \ Python27, verifique se o diretório c: \ Python27 está antes ou acima do diretório c: \ Python36 na variável de ambiente Path. Pela minha experiência, o primeiro executável python encontrado no ambiente Path está sendo executado. Por exemplo, eu tenho o MSYS2 instalado com o Python27 e desde que adicionei C: \ MSYS2 ao caminho anterior a C: \ Python36, o python.exe da pasta C: \ MSYS2 .... está sendo executado.
Basta chamar o executável correto
python
entrar no shell, tente python2.5
ou python2.6
. Eu não sou um usuário do Windows, mas em unix / usr / bin / python é geralmente um alias para o executável totalmente qualificado, estou assumindo python no Windows está instalado de forma semelhante