在Windows 8上,easy_install.exe权限被拒绝

8

以管理员身份运行命令提示符后,我尝试运行以下命令:

easy_install -U setuptools

它会返回以下内容:
Searching for setuptools
Reading https://pypi.python.org/simple/setuptools/
Reading http://peak.telecommunity.com/snapshots/
Reading https://pypi.python.org/pypi/setuptools
Best match: setuptools 0.8
Processing setuptools-0.8-py2.7.egg
setuptools 0.8 is already the active version in easy-install.pth
Installing easy_install-script.py script to C:\Python27\Scripts
Installing easy_install.exe script to C:\Python27\Scripts
error: C:\Python27\Scripts\easy_install.exe: Permission denied

我花了几个小时在网上寻找可能的解决方案。我尝试更改UAC设置,并将其设置为“从不通知”。但是,我仍然收到拒绝许可的错误。

2个回答

12

您可以在这里找到解决方案。

运行安装程序。
在出现错误后,将easy_install.exe和.py文件复制到临时目录中(例如c:\ temp)。
然后再次从该处运行安装程序。

在Windows上,在安装过程中使用的easy_install二进制文件正在使用中,因此无法覆盖自身。 (Easy_install本身是要使用集成了它的setuptools来进行安装的;)


这对我不起作用。在从临时文件夹安装时,该进程仍然尝试访问anaconda3路径中的easy_install。当您说“从那里安装”时,您能否详细说明如何从临时文件夹安装?谢谢!@MarcusJohansson - BossaNova
@BossaNova,anaconda路径中访问的easy_install.exe二进制文件并不是问题,因为您启动了c:\temp\easy_install.exe,所以路径中的那个不再使用(可以被访问和覆盖而没有问题)。请注意,目前easy_install已经被弃用。pip install setuptools对您有用吗? - Rik
@Rik 谢谢你的回答。由于像你说的一样,访问了同一个文件,我得到了相同的权限错误。但是我可能没有理解“从那里安装”的含义。无论如何,我设法让它工作了,所以目前还好。 - BossaNova

8
另一种方法是使用另一个Python软件包管理器:Pip。
easy_install pip    
pip install --upgrade setuptools

这样做可以避免“正在使用”的问题,而无需移动文件。

似乎需要结合两种方法才能在Windows 10上重新安装旧版本,当现有的安装无法覆盖自身且找不到自己的egg时。 C:\ Python27 \ python -m pip install -U setuptools == 3.3-U --proxy http://user:pass@proxy:port - Seth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接