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.
python
windows
python-3.x
compatibility
python-2.x
Bilal Basharat
fonte
fonte
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 pelaPATHEXT
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
ouc:\python\2.6\python.exe
.A outra alternativa é criar um atalho para o respectivo
python.exe
chamado, um delespython25
e o outropython26
; você pode simplesmente executarpython25
na sua linha de comando.fonte
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.6ou, 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ãopy -2
mais recente instalada 2.xpy -3.4
- versão 3.4py -3
- versão mais recente instalada 3.xvirtualenv -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,
fonte
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. Opy -3 script.py
lançamento do Python 3.fonte
.py
extensão. O iniciador em si está instalado noC:\Windows
que já está noPATH
. Dessa forma, também aPATH
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
Desde que c: \ bin ou onde quer que você os coloque esteja no seu caminho, agora você pode ir
fonte
mklink
está disponível apenas nativamente no Windows Vista / 2008 +. No XP e no Server 2003, um "hardlink" poderia ser criado usandofsutil 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
fonte
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 digitarpy -3.6-64
oupy -3.6-32
.fonte
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:
para Python 2.5 no Windows e
para Python 2.6 no Windows ou
ou
no
WindowsUnix (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: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.fonte
C:\Python2.5
ouC:\Python2.6
aparecer em suaPATH
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.
fonte
Aqui está um hack rápido:
C:\Users\Your name
)name_of_your_shortcut.lnk
(eu usop27.lnk
)fonte
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
fonte
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 =
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.
fonte
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.
fonte
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/
fonte
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.
fonte
Basta chamar o executável correto
fonte
python
entrar no shell, tentepython2.5
oupython2.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