为什么没有 root 权限就无法运行 virtualenv?

为什么没有 root 权限就无法运行 virtualenv?

我正在尝试运行虚拟环境,所有文档都说我不需要以 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

相关内容