
我正在尝试运行虚拟环境,所有文档都说我不需要以 root 身份运行它(可能也不应该)。如果我以 root 身份运行它,一切都会正常。如果我以非 root 身份运行它,我会得到:
[stats@crunch ~]$ virtualenv env
Traceback (most recent call last):
File "/usr/bin/virtualenv", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module>
working_set.require(__requires__)
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: virtualenv==1.7.1.2
我相信我可以更改所有权,并且差异相同,但我想知道为什么会发生这种情况。这是全新安装的 CentOS 6.2。
答案1
easy_install 安装了 virtualenv,但未授予组或世界的读取权限(仅可执行)。知道为什么会发生这种情况吗?
在 /usr/lib/python/site-packages/virtualenv 目录上执行 chmod -R 755 解决了该问题。
答案2
请参阅此答案堆栈溢出,您可能需要查看环境变量并写入权限。
答案3
我遇到了完全相同的错误消息。您必须在执行 virtualenv 之前创建“env”目录
mkdir env
virtualenv env