Назад | Перейти на главную страницу

Почему я не могу запустить virtualenv без рута?

Я пытаюсь запустить виртуальный env, и вся документация говорит, что мне не нужно запускать его как 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.

easy_install установил virtualenv без разрешений на чтение для группы или мира (только выполнение). Есть идеи, почему это происходит?

Выполнение команды chmod -R 755 в каталоге / usr / lib / python / site-packages / virtualenv решило проблему.

См. Этот ответ на переполнение стека, вам, вероятно, нужно посмотреть на переменные среды и разрешения на запись.

У меня было точно такое же сообщение об ошибке. Вы должны создать каталог "env" перед запуском virtualenv.

mkdir env
virtualenv env