无法在Google云端硬盘文件夹中创建虚拟环境

时间:2016-08-31 08:53:27

标签: python powershell virtualenv drive

我使用Google云端硬盘保留了我的代码项目的副本,以防我的计算机死机(我也使用GitHub,但不是某些私人项目)。

但是,当我尝试使用virtualenv创建虚拟环境时,出现以下错误:

PS C:\users\fchatter\google drive> virtualenv env
New python executable in C:\users\fchatter\google drive\env\Scripts\python.exe
ERROR: The executable "C:\users\fchatter\google drive\env\Scripts\python.exe" could not be run: [Error 5] Access is denied

我尝试的事情:

  • 我认为这是因为venv的路径包含空格,但该命令在其他路径中使用空格。我也按照virtualenv文档中的建议尝试安装win32api库,但它没有用。

  • 以管理员身份运行PowerShell。

关于如何解决这个问题的任何想法?我目前的解决方法是在Google云端硬盘之外创建一个venv,它可以正常工作但不方便。

2 个答案:

答案 0 :(得分:1)

不要在云同步文件夹中设置虚拟环境,也不应该从这样的文件夹运行python脚本。这是个坏主意。它们不适用于版本控制。对文件夹的写访问(修改文件)是有限的,因为在您的情况下,Google驱动器将定期同步该文件夹,这将阻止对该文件夹的独占写访问几乎总是如此。

TLDR;一个人不能在同步时修改文件。

我建议您坚持git进行版本控制。

答案 1 :(得分:1)

遇到相同的问题并玩了几个小时后,似乎不可能。它与文件/文件夹名称中的空格无关。我已经测试过了一段时间后,似乎Google Drive Stream对文件/文件夹执行了一些操作,这使python松开了文件的路径。例如,您可以将python模块克隆到Google Drive Stream文件夹中,执行“ pip install -e ./”,它将在virtevn中工作几分钟,例如将其导入python shell中。但是几分钟后,您将无法再导入该模块。我怀疑Google Drive Stream不能完全与所有文件系统调用完全兼容,其中之一正在被python使用。