Como usar a "instalação fácil" do Python no Windows ... não é tão fácil

Depois de instalar o Python 2.7 no Windows XP, configure manualmente o %PATH% Para python.exe (porque é que o instalador de python não faz isto?), então instalando setuptools 0.6c11 (por que o instalador python não faz isso?), então configurando manualmente o %PATH% Para easy_install.exe (Por que o instalador não faz isso?), Eu finalmente tentei instalar um pacote python com easy_install, mas easy_install falhou quando não conseguiu instalar o pacote pywin32, que é uma dependência. Como posso fazer com que a easy_install funcione correctamente? Windows XP? a falha segue:

C:\>easy_install winpexpect
Searching for winpexpect
Best match: winpexpect 1.4
Processing winpexpect-1.4-py2.7.egg
winpexpect 1.4 is already the active version in easy-install.pth

Using c:\python27\lib\site-packages\winpexpect-1.4-py2.7.egg
Processing dependencies for winpexpect
Searching for pywin32>=214
Reading http://pypi.python.org/simple/pywin32/
Reading http://sf.net/projects/pywin32
Reading http://sourceforge.net/project/showfiles.php?group_id=78018
No local packages or download links found for pywin32>=214
Best match: None
Traceback (most recent call last):
  File "C:\python27\scripts\easy_install-script.py", line 8, in 
    load_entry_point('setuptools==0.6c11', 'console_scripts', 'easy_install')()
  File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1712, in main
    with_ei_usage(lambda:
  File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1700, in with_ei_usage
    return f()
  File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1716, in 
    distclass=DistributionWithoutHelpCommands, **kw
  File "C:\python27\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\python27\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "C:\python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 211, in run
    self.easy_install(spec, not self.no_deps)
  File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 446, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 481, in install_item
    self.process_distribution(spec, dists[0], deps, "Using")
  File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 519, in process_distribution
    [requirement], self.local_index, self.easy_install
  File "C:\python27\lib\site-packages\pkg_resources.py", line 563, in resolve
    dist = best[req.key] = env.best_match(req, self, installer)
  File "C:\python27\lib\site-packages\pkg_resources.py", line 799, in best_match
    return self.obtain(req, installer) # try and download/install
  File "C:\python27\lib\site-packages\pkg_resources.py", line 811, in obtain
    return installer(requirement)
  File "C:\python27\lib\site-packages\setuptools\command\easy_install.py", line 434, in easy_install
    self.local_index
  File "C:\python27\lib\site-packages\setuptools\package_index.py", line 475, in fetch_distribution
    return dist.clone(location=self.download(dist.location, tmpdir))
AttributeError: 'NoneType' object has no attribute 'clone'
Author: gturri, 2010-10-25

6 answers

Um problema é que easy_install está configurado para baixar e instalar .egg files or source distributions (contained within .tgz, .alcatrao, .alcatrao.gz, tar.bz2, or .zip files). Ele não sabe como lidar com as extensões PyWin32 porque elas são colocadas dentro de um executável do instalador separado . Terá de transferir o ficheiro do instalador PyWin32 apropriado (para o Python 2.7) e executá-lo por si próprio. Quando executar easy_ Install de novo (desde que o tenha instalado correctamente, como no Sergio ' s instruções), você deve ver que o seu pacote winpexpect foi instalado corretamente.

Uma vez que estamos a falar do Windows e do open source, muitas vezes pode ser uma combinação confusa de métodos de instalação para pôr as coisas a funcionar correctamente. No entanto, easy_install ainda é melhor do que Arquivos de configuração de edição manual, com certeza.

 9
Author: Brandon, 2020-06-20 09:12:55

Se estiver a utilizar a versão do windows 7 64-bit, então a solução encontra-se aqui: http://pypi.python.org/pypi/setuptools

Ou seja, você precisa baixar um script python, executá-lo, e então easy_install irá funcionar normalmente a partir da linha de comandos.

P. S. concordo com o cartaz original a dizer que isto deve funcionar fora da caixa.
 23
Author: Gabriel, 2012-12-06 04:52:49

Também concordo com o OP que todas estas coisas devem vir com Python já definido. Acho que vamos ter de lidar com isso até esse dia chegar. Aqui está uma solução que realmente funcionou para mim:

Instalar o easy_ install mais rápido e mais fácil

Espero que te ajude a ti ou a qualquer um com o mesmo problema!
 9
Author: Eenvincible, 2013-08-01 15:09:04

Copiar o script abaixo "ez_setup.py" a partir do URL abaixo

Https://bootstrap.pypa.io/ez_setup.py

E copia - o para a tua localização em Python

C:\Python27>

Execute o comando

C:\Python27? python ez_setup.py

Isto irá instalar a easy_ install na pasta Scripts

C:\Python27\Scripts

Executar uma instalação fácil a partir do directório Scripts >

C:\Python27\Scripts> easy_ install

 7
Author: kadi99, 2014-11-21 09:30:56
Por um lado, diz que já tem o módulo instalado. Se você precisar atualizá - lo, você deve fazer algo assim:

Easy_ install-U packageName

Claro, easy_install não funciona muito bem se o pacote tem alguns cabeçalhos de C que precisam ser compilados e você não tem a versão certa do Visual Studio instalado. Você pode tentar usar pip ou distribuir em vez de easy_install e ver se eles funcionam melhor.

 1
Author: Mike Driscoll, 2010-10-25 15:44:25

Se estiver a utilizar a distribuição de Anaconda em Python,

Pode instalá-lo através do pip

pip install setuptools

E depois executá - lo como um módulo

python -m easy_install

 1
Author: Danilo Gasques, 2017-11-30 06:07:06