virtualenv 返回错误“操作不允许”

Chi*_*xit 5 django virtualenv python-2.7

我正在使用该命令virtualenv --no-site-packages django-env,但遇到以下错误

Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 9, in <module>
    load_entry_point('virtualenv==12.0.7', 'console_scripts', 'virtualenv')()
  File "/usr/local/lib/python2.7/dist-packages/virtualenv-12.0.7-py2.7.egg/virtualenv.py", line 825, in main
    symlink=options.symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv-12.0.7-py2.7.egg/virtualenv.py", line 985, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/usr/local/lib/python2.7/dist-packages/virtualenv-12.0.7-py2.7.egg/virtualenv.py", line 1416, in install_python
    os.symlink(py_executable_base, full_pth)
OSError: [Errno 1] Operation not permitted
Run Code Online (Sandbox Code Playgroud)

所以我想sudo virtualenv --no-site-packages django-env在终端上使用该命令来避免任何操作系统冲突,但它会引发以下错误,请看一下

Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 9, in <module>
    load_entry_point('virtualenv==12.0.7', 'console_scripts', 'virtualenv')()
  File "/usr/local/lib/python2.7/dist-packages/virtualenv-12.0.7-py2.7.egg/virtualenv.py", line 825, in main
    symlink=options.symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv-12.0.7-py2.7.egg/virtualenv.py", line 985, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/usr/local/lib/python2.7/dist-packages/virtualenv-12.0.7-py2.7.egg/virtualenv.py", line 1204, in install_python
    copyfile(stdinc_dir, inc_dir, symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv-12.0.7-py2.7.egg/virtualenv.py", line 479, in copyfile
    copyfileordir(src, dest, symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv-12.0.7-py2.7.egg/virtualenv.py", line 454, in copyfileordir
    shutil.copytree(src, dest, symlink)
  File "/usr/lib/python2.7/shutil.py", line 208, in copytree
    raise Error, errors
shutil.Error: [('/usr/include/python2.7/numpy', 'django-env/include/python2.7/numpy', '[Errno 1] Operation not permitted')]
Run Code Online (Sandbox Code Playgroud)

我正在使用 Ubuntu 14.04 和 Python 2.7.6

我无法弄清楚是什么导致了错误。

Eug*_*kov 6

默认情况下,出于安全原因,VirtualBox 将禁止在已安装的共享文件夹中创建符号链接。

但是,您可以使用以下命令自行手动启用它。

VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

之后虚拟环境应该正确引导。不要忘记关闭虚拟机以使此设置生效。

您可以参考此 VirtualBox 的票证以了解更多详细信息:https ://www.virtualbox.org/ticket/10085 。


小智 5

关于开发文件夹的所有权:

在安装了 virtualbox 的驱动器上运行 virtualenv 时,我遇到了类似的错误。切换到虚拟机上的目录运行良好。

一切顺利。


Grv*_*agi 0

在你家里尝试这些命令

1.sudo easy_install virtualenv
2.mkdir virt_env
3.virtualenv virt_env/test1
4.source test1/bin/activate
5.pip install django==1.7.4

之后
django-admin.py startproject project_name