Ubuntu 14.04 LTS 中的 Virtualenv (python) 在外部硬盘驱动器上

Virtualenv (python) in Ubuntu 14.04 LTS on external hard drive

我正在尝试在我的 Ubuntu 和 Windows 安装中使用的外部硬盘驱动器上创建一个 virtualenv(我有一个 SSD 并且使用 2TB 外部硬盘驱动器除了电脑游戏)。

当我导航到该位置并尝试使用适用于标准 Ubuntu 主驱动器的命令创建它时,我得到以下信息:

nebelhom@nebelhom-desktop:/media/extHDD/virt_folder$ virtualenv MyFolder
New python executable in /media/nebelhom/extHDD/virt_folder/MyFolder/bin/python
ERROR: The executable /media/nebelhom/extHDD/virt_folder/MyFolder/bin/python could not be run: [Errno 13] Permission denied

运行 与 "sudo" 相同也没有帮助,并给出与上述相同的错误。

我接下来尝试的是指示python版本

nebelhom@nebelhom-desktop:/media/nebelhom/extHDD/virt_folder$ sudo virtualenv -p python2.7 MyFolder
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in /media/nebelhom/extHDD/virt_folder/MyFolder/bin/python2.7
Not overwriting existing python script /media/nebelhom/extHDD/virt_folder/MyFolder/bin/python (you must use /media/nebelhom/extHDD/virt_folder/MyFolder/bin/python2.7)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2332, in <module>
    main()
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 711, in main
    symlink=options.symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 924, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1369, in install_python
    os.symlink(py_executable_base, full_pth)
OSError: [Errno 17] File exists

现在我卡住了:/。你们有没有人尝试过这样的事情并成功了?我真的没主意了...

我之前曾尝试搜索解决方案,但对于这个特定问题,我没有找到任何有用的东西。我会继续寻找 post 我能找到的任何 link 可能是远程相关的。

提前感谢您提供的任何帮助。非常感谢。

似乎 Python 对该文件夹的权限有问题。

尝试使用此命令授予文件夹的 root 权限:

sudo chown root:root -R /media/nebelhom/extHDD/virt_folder/MyFolder

然后运行这个命令来创建virtualenv:

sudo virtualenv /media/nebelhom/extHDD/virt_folder/MyFolder

我认为它的发生是因为您的外部硬盘上的文件系统。从你的问题我可以猜到你的外部硬盘同时使用 windows 和 linux,它的文件系统可能是 NTFS。

文件权限在 NTFS 和所有常见的 linux 上不存在,例如 chown 和 chmod,这可能是您遇到这些问题的原因。

我建议您尝试使用基于 linux 的文件系统(例如 ext4)在您的 ext HDD 上创建一个新分区。然后尝试创建一个虚拟环境。

我试过在可移动磁盘上创建 python 虚拟环境,效果很好,只有 FS 是 ext4。