如何在Windows上使用Python的“easy_install”…并不那么容易

在Windows XP上安装Python 2.7后,手动将%PATH%设置为python.exe (为什么python安装程序不这样做?),然后安装setuptools 0.6c11 (为什么python安装程序不这样做?),然后手动将%PATH%设置为easy_install.exe (为什么安装程序不这样做?),我终于尝试安装easy_install的python软件包,但easy_install无法安装pywin32软件包,这是一个依赖。 我怎样才能使easy_install在Windows XP上正常工作? 失败如下:

  C:\> easy_install winpexpect
寻找winpexpect
最佳匹配:winpexpect 1.4
处理winpexpect-1.4-py2.7.egg
 winpexpect 1.4已经是easy-install.pth中的活动版本

使用c:\​​ python27 \ lib \ site-packages \ winpexpect-1.4-py2.7.egg
处理winpexpect的依赖关系
searchpywin32> = 214
阅读http://pypi.python.org/simple/pywin32/
阅读http://sf.net/projects/pywin32
阅读http://sourceforge.net/project/showfiles.php?group_id=78018
找不到pywin32> = 214的本地软件包或下载链接
最佳匹配:无
回溯(最近一次通话最后):
  文件“C:\ python27 \ scripts \ easy_install-script.py”,第8行, 
     load_entry_point('setuptools == 0.6c11','console_scripts','easy_install')()
  文件“C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”,第1712行,在main
     with_ei_usage(拉姆达:
  文件“C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”,第1700行,位于with_ei_usage
    返回f()
  文件“C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”,第1716行,在 
     distclass = DistributionWithoutHelpCommands,** kw
  在安装程序中的文件“C:\ python27 \ lib \ distutils \ core.py”,第152行
     dist.run_commands()
  在run_commands中的文件“C:\ python27 \ lib \ distutils \ dist.py”,行953
     self.run_command(CMD)
  在run_command中的文件“C:\ python27 \ lib \ distutils \ dist.py”,第972行
     cmd_obj.run()
  在运行的文件“C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”中,第211行
     self.easy_install(spec,not self.no_deps)
  在easy_install文件“C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”,第446行
    返回self.install_item(spec,dist.location,tmpdir,deps)
  第481行,在install_item文件“C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”
     self.process_distribution(spec,dists [0],deps,“使用”)
  第519行,在process_distribution文件“C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”
     [要求],self.local_index,self.easy_install
  在parsing文件“C:\ python27 \ lib \ site-packages \ pkg_resources.py”,第563行
     dist = best [req.key] = env.best_match(req,self,installer)
  在best_match文件“C:\ python27 \ lib \ site-packages \ pkg_resources.py”,第799行
    返回self.obtain(req,安装程序)#尝试下载/安装
  文件“C:\ python27 \ lib \ site-packages \ pkg_resources.py”,第811行,获取
    返回安装程序(要求)
  在easy_install文件“C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”,第434行
     self.local_index
  在fetch_distribution文件“C:\ python27 \ lib \ site-packages \ setuptools \ package_index.py”,第475行
    返回dist.clone(location = self.download(dist.location,tmpdir))
 AttributeError:'NoneType'对象没有属性'clone'

一个问题是,easy_install被设置为下载并安装.egg文件或源代码发行版(包含在.tgz,.tar,.tar.gz,.tar.bz2或.zip文件中)。 它不知道如何处理PyWin32扩展,因为它们放在单独的安装程序可执行文件中 。 您将需要下载相应的PyWin32安装程序文件(用于Python 2.7)并自行运行。 当你再次运行easy_install(只要你有正确的安装,就像在Sergio的说明中一样),你应该看到你的winpexpect包已经正确安装了。

既然是Windows和开放源代码,我们正在讨论,通常可能是一个混乱的安装方法,让事情正常工作。 但是,easy_install仍然比手动编辑configuration文件要好。

如果您使用的是Windows 7 64位版本,那么可以在这里find解决scheme: http : //pypi.python.org/pypi/setuptools

即你需要下载一个python脚本,运行它,然后easy_install将从命令行正常工作。

PS我同意原来的海报说,这应该是开箱即用。

我也同意OP所有这些东西应该与Python已经设置。 我想我们将不得不处理,直到那一天。 这是一个真正为我工作的解决scheme:

安装easy_install更快,更容易

我希望它能帮助你或任何有同样问题的人!

从下面的URL复制下面的脚本“ez_setup.py”

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

并将其复制到您的Python位置

C:\ Python27>

运行命令

C:\ Python27? python ez_setup.py

这将在脚本目录下安装easy_install

C:\ Python27 \ Scripts中

从脚本目录运行简单安装>

C:\ Python27 \ Scripts> easy_install

一方面,它说你已经安装了该模块。 如果你需要升级它,你应该这样做:

easy_install -U packageName

当然,如果软件包有一些需要编译的C头文件,并且没有安装正确版本的Visual Studio,那么easy_install不能很好地工作。 你可以尝试使用点或分发而不是easy_install,看看他们是否更好地工作。