【问题标题】:`Could not install packages due to an EnvironmentError: [Errno 1] Operation not permitted` in the virtual envinronment [closed]`Could not install packages due to an EnvironmentError: [Errno 1] Operation not allowed`在虚拟环境中[关闭]
【发布时间】:2019-05-25 06:33:27
【问题描述】:

我尝试使用virtualenv 在 我输入virtuelenv env --python=python3 我收到一个错误

PermissionError: [Errno 1] Operation not permitted: '/mnt/d/venv/bin/python3'

所以我将命令与sudo 一起使用,因此输入sudo virtualenv env --python=python3

这次命令有效,现在我激活环境并尝试使用pip安装一些东西,我明白了

Could not install packages due to an EnvironmentError: [Errno 1] Operation not permitted

我知道如果将pip 与 sudo 一起使用,它将安装全局站点包的包,而不会安装虚拟环境的站点包。我想将东西安装到虚拟环境中。

我在 WSL 上运行 ubuntu bionic,我曾经运行 ubuntu xenial,但没有遇到这个问题。

请指教。

【问题讨论】:

  • 如果这是 AppArmor 的“问题”,我不会感到惊讶。

标签: python virtualenv sudo windows-subsystem-for-linux ubuntu-18.04


【解决方案1】:

使用 WSL 时:在 Linux 层次结构中创建 venv,而不是在 Windows 层次结构中。

这通常意味着在 /home/YOUR_USER/ 而不是 /mnt/... 中创建。

【讨论】:

  • 只是一个问题,为什么只有尝试在 /mnt/ 中创建 venv 时才会出现此问题?
  • 在 WSL 上,Windows™ 文件系统安装在 /mnt/ 中。就像D:` is mounted in /mnt/d/`。所以这是两个不同的文件系统(可能是 ext4 Linux 端和 NTFS Windows™ 端)。某处的某些代码可能在两个文件系统上表现不同,间接导致错误。我没有窗口框可以检查和告诉更多信息,所以这只是我在猜测。 (Windows™ 和 Linux 中的可执行文件也不同,前者使用 PE,后者使用 ELF,因此 Linux 可能无法使用 python.exe,反之亦然。)
  • 这些都是公平的观点,谢谢你澄清问题。
猜你喜欢
  • 2020-04-26
  • 2016-01-05
  • 2022-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-18
  • 2021-03-08
  • 1970-01-01
相关资源
最近更新 更多