在Windows XP上安装Python 2.7之后,然后手动设置%PATH%为python.exe(为什么python安装程序不这样做?),然后安装setuptools 0.6c11(为什么python安装程序不这样做?),然后手动设置%PATH%为easy_install.exe(为什么?安装程序执行此操作吗?),我最终尝试使用来安装python软件包easy_install,但是easy_install当它无法安装pywin32软件包时却失败了,这是一个依赖项。 如何使easy_install在Windows XP上正常工作? 失败如下:
%PATH%
python.exe
setuptools 0.6c11
easy_install.exe
easy_install
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的依赖项 搜索pywin32> = 214 阅读http://pypi.python.org/simple/pywin32/ 阅读http://sf.net/projects/pywin32 阅读http://sourceforge.net/project/showfiles.php?group_id=78018 找不到pywin32> = 214的本地软件包或下载链接 最佳搭配:无 追溯(最近一次通话): 在第8行的文件“ C:\ python27 \ scripts \ easy_install-script.py” load_entry_point('setuptools == 0.6c11','console_scripts','easy_install')() 主目录中的文件“ C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”,行1712 with_ei_usage(lambda: 文件“ 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(规格,不是self.no_deps) 在easy_install中的文件“ C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”,行446 返回self.install_item(spec,dist.location,tmpdir,deps) 在install_item中的文件“ C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py”,行481 self.process_distribution(spec,dists [0],deps,“使用中”) 在process_distribution中的第519行中的文件“ C:\ python27 \ lib \ site-packages \ setuptools \ command \ easy_install.py” [要求],self.local_index,self.easy_install 解析文件“ C:\ python27 \ lib \ site-packages \ pkg_resources.py”,第563行 dist = best [req.key] = env.best_match(req,self,installer) 文件“ C:\ python27 \ lib \ site-packages \ pkg_resources.py”,行799,在best_match中 返回self.obtain(req,installer)#尝试下载/安装 在获取文件“ 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 文件“ C:\ python27 \ lib \ site-packages \ setuptools \ package_index.py”,行475,位于fetch_distribution中 返回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仍然比手动编辑配置文件更好。