windows7 / vista下easy_install的.egg权限问题

时间:2010-02-15 07:28:29

标签: python windows virtualenv easy-install

我使用easy_install在windows7下的virtuaenv中安装python包。由于无人机,我必须以管理员身份运行CMD来安装软件包。问题就出现了,我注意到我无法从普通用户帐户导入包。

>>> import tempita
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named tempita

但是tempita-0.4-py2.6就在网站包中。另外,以管理员身份运行python,导入正常。这是许可的问题。这很奇怪,我不知道为什么,但只有.egg文件安装了受限制的权限设置。我发现有一篇关于这个问题的文章:

easy_install no longer easy on Vista

它无法更改父文件夹的所有者或权限,我知道的唯一解决方案是逐个修改这些egg文件的权限。这真的很烦人,为什么easy_install只将这种限制权限设置为.egg文件而不是.py文件?如何在不关闭无人机或以超级用户身份运行的情况下解决此问题?

2 个答案:

答案 0 :(得分:0)

我已经开始使用distribute代替setuptools,因为分发团队在追踪问题方面更加积极主动。奇怪的是,似乎分发不再在我的Windows 7系统上创建拉链蛋,可能是因为您遇到的权限问题。切换到分发可能是一个解决方案,虽然我会理解,这似乎更像是一个黑客而不是修复。

答案 1 :(得分:0)

您可以使用ICACLS重置文件权限。

ICACLS c:\Python26\lib\site-packages\*.egg /reset

我建议在执行*.egg之前首先尝试使用一个文件。请注意,*.egg也可能与鸡蛋文件夹匹配。