define - using pip with specific python version
Instalando versões de pacotes específicos com pip (5)
Estou tentando instalar a versão 1.2.2 do adaptador MySQL_python, usando um novo virtualenv criado com a opção --no-site-packages
. A versão atual mostrada no PyPi é 1.2.3 . Existe uma maneira de instalar a versão mais antiga? Eu encontrei um artigo afirmando que isso deveria ser feito:
pip install MySQL_python==1.2.2
Quando instalado, no entanto, ele ainda mostra MySQL_python-1.2.3-py2.6.egg-info nos pacotes do site. Este é um problema específico deste pacote, ou estou fazendo algo errado?
Como isso parecia ser uma alteração revolucionária introduzida na versão 10 do pip, fiz o downgrade para uma versão compatível:
pip install 'pip<10'
Este comando diz ao pip para instalar uma versão do módulo menor que a versão 10. Faça isso em um virutalenv para não estragar a instalação do seu site em Python.
Eu acredito que se você já tem um pacote instalado, o pip não irá sobrescrevê-lo com outra versão. Use -I
para ignorar versões anteriores.
Para instalar uma versão específica do pacote python, seja pela primeira vez, uma atualização ou um downgrade use:
pip install --force-reinstall MySQL_python==1.2.4
O MySQL_python versão 1.2.2 não está disponível, então usei uma versão diferente. Para visualizar todas as versões de pacotes disponíveis de um índice, exclua a versão:
pip install MySQL_python==
Primeiro, vejo dois problemas com o que você está tentando fazer. Já que você já tem uma versão instalada, você deve desinstalar o driver existente atual ou usar pip install -I MySQL_python==1.2.2
No entanto, você logo descobrirá que isso não funciona. Se você olhar o log de instalação do pip, ou se você fizer um pip install -Iv MySQL_python==1.2.2
você verá que o link URL do PyPI não funciona para o MySQL_python v1.2.2. Você pode verificar isso aqui: http://pypi.python.org/pypi/MySQL-python/1.2.2
Os links 404 de download e os links de URL de fallback são redirecionados infinitamente devido à atualização recente do sourceforge.net e ao URL obsoleto do PyPI.
Então, para instalar corretamente o driver, você pode seguir estes passos:
pip uninstall MySQL_python
pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download
Você pode até usar um intervalo de versão com o comando pip install
. Algo assim:
pip install 'stevedore>=1.3.0,<1.4.0'
E se o pacote já estiver instalado e você quiser fazer o downgrade, adicione --force-reinstall
assim:
pip install 'stevedore>=1.3.0,<1.4.0' --force-reinstall