mkvirtualenv 给出权限被拒绝的错误

mkvirtualenv gives permission denied error

当运行时: mkvirtualenv 测试

我收到以下错误:

  File "/usr/lib/python3/dist-packages/virtualenv.py", line 2378, in <module>
    main()
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 830, in main
    symlink=options.symlink)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 999, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 1198, in install_python
    mkdir(lib_dir)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 451, in mkdir
    os.makedirs(path)
  File "/usr/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: 'test'

为什么没有创建'test'虚拟环境?我确实尝试过 chmode -R 777 virtualenv 文件夹,但这并没有解决它。我在 Ubuntu 15.04

上安装了 python 2.7 和 3.4

您可能会遇到错误,因为您无法在当前工作目录中创建 virtualenv 文件夹。

如果你执行 ls -ld . 你会看到你是 运行 命令的当前目录的输出,例如:

➜  ~  ls -ld .
drwxr-xr-x+ 114 tfisher  staff  3876 Jun 26 08:46 .

如果您执行 whoami,您将获得当前用户的名称。

输出中有趣的部分通常是 ls -d . 命令的第一部分:drwxr-xr-x+。这意味着 "this is a directory, with Read, Write, eXecution for the user, then Read eXecute for the group, and finally Read and eXecute for everyone else."

如果您没有write 权限,您将无法创建virtualenv 需要的文件和文件夹。

如果当前目录是您认为应该属于您个人的目录,例如/home/musicformellons,并且你有 sudo 权限,你可以通过 运行:

来纠正这个问题
sudo chown `whoami` .

之所以这不能简单地起作用,可能是因为您遵循了使用 sudo 权限安装 "virtualenvwrapper" 的指南。

我也做了同样的事情,我发现的问题是:

echo $WORKON_HOME

你会发现:/home/user/.virtualenvs/extra_path

只需要删除在 .virtualenvs 路径后添加的 extra_path 从你的 .bashrc 然后 source 再次尝试创建 mkvirtualenv

我不认为你不能创建一个测试 virtualenv。