设置virtualenv Python的回溯问题

时间:2017-04-04 15:29:41

标签: python virtualenv

我想第一次建立一个virtualenv,我无法弄清问题是什么。这是终端输出......

Traceback (most recent call last):
  File "/bin/virtualenv", line 3, in <module>
    virtualenv.main()
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 825, in main
    symlink=options.symlink)
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 960, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 1133, in install_python
    mkdir(lib_dir)
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 441, in mkdir
    os.makedirs(path)
  File "/usr/lib64/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib64/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib64/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: 'test_env'

我不知道为什么只要创建一个virtualenv就会得到Permission denied错误。

1 个答案:

答案 0 :(得分:1)

磁盘上的virtualenv是一个具有自己的Python安装的目录。 virtualenv实用程序需要创建此目录,并且默认情况下将其放入当前目录(而不是像~/.venvs这样的标准化位置),这意味着您需要位于同一目录中每次使用时都创建虚拟环境的位置。 Permission denied消息来自于它无法首先创建目录。

您很可能对您所在的目录没有写入权限。当前目录(您可以使用pwd找到)应该(通常)在您尝试创建的目录中位于主目录中的某个位置的virtualenv。

另一种可能性是目录已经存在,但virtualenv目录中的一些必要的目录结构没有,并且你没有写权限。通常,您希望使用 not 对应于现有目录的名称,并让virtualenv工具为您创建。