如何在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,看看他们是否更好地工作。