【问题标题】:virtualenv returns error 'Operation not Permitted'virtualenv 返回错误“不允许操作”
【发布时间】:2015-04-23 10:36:30
【问题描述】:

我使用的是命令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

所以我想在我的终端上使用命令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')]

我使用的是 Ubuntu 14.04 和 Python 2.7.6

我无法确定导致错误的原因。

【问题讨论】:

  • 你为什么使用 sudo 运行它?你真的不需要这样做。
  • 我在没有sudo 的情况下运行,但此错误出现 Traceback(最近一次调用最后一次):文件“/usr/local/bin/virtualenv”,第 9 行,在 load_entry_point('virtualenv ==12.0.7', 'console_scripts', 'virtualenv')() OSError: [Errno 1] Operation not allowed
  • 等我更新问题
  • 如何安装 virtualenv?正如我所看到的,它可能是通过 pip 或 easy_install 实现的。您是否从旧版本升级了您的 ubuntu,并且在旧版本上安装了 virtualenv?
  • 问题不在于 Ubuntu,我发现是 USB 驱动器的问题,我必须提供媒体所有权,然后它才能在设备上运行。

标签: django python-2.7 virtualenv


【解决方案1】:

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

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

一切顺利。

【讨论】:

    【解决方案2】:

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

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

    VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

    之后应该正确引导虚拟环境。不要忘记关闭 VM 以获取此设置。

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

    【讨论】:

    • 似乎需要重新启动 vbox 但这对我在 Mac + Ubuntu 20 客户端上的 Virtualbox 6.1 有效
    【解决方案3】:

    在已安装的驱动器上运行 virtualenv 时,我遇到了类似的错误。对我来说,“--always-copy”选项解决了这个问题。

    【讨论】:

      【解决方案4】:

      在家里试试这些命令

      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 项目名称

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-26
        • 1970-01-01
        • 1970-01-01
        • 2021-01-14
        • 2021-11-18
        • 2012-06-11
        相关资源
        最近更新 更多