写在前面的话:qiagoogle-drive-ocamlfuse遇到的各种问题
首先介绍一下这个文件
google-drive-ocamlfuse是由OCaml编写的Google Drive支持的基于FUSE的文件系统。它可让您在Linux上安装挂载Google Drive。
该项目托管在github上,您可以在这里找到最新的开发版本。
在使用codelab时经常遇到这样的问题,即
/bin/bash: google-drive-ocamlfuse: command not found
解决办法:
用OPAM进行安装google-drive-ocamlfuse
1.安装OPAM(ubuntu系统为例子)
apt-get install opam
2.运行以及更新OPAM:
opam init
opam update
3.安装依赖项
opam install depext
opam depext google-drive-ocamlfuse
4.安装google-drive-ocamlfuse
opam install google-drive-ocamlfuse
但是安装完之后,执行一下命令
!google-drive-ocamlfuse
会出现以下提示
/bin/bash: google-drive-ocamlfuse: command not found
一般情况下这是因为没有将google-drive-ocamlfuse加入到环境变量文件/etc/profile,所以在这种情况下,我们首先寻找二进制文件在哪里:
find / -name google-drive-ocamlfuse
因而会输出以下的提示
/root/.opam/system/share/google-drive-ocamlfuse
/root/.opam/system/lib/google-drive-ocamlfuse
/root/.opam/system/etc/google-drive-ocamlfuse
/root/.opam/system/doc/google-drive-ocamlfuse
/root/.opam/system/bin/google-drive-ocamlfuse
/root/.opam/repo/default/packages/google-drive-ocamlfuse
/root/.opam/packages/google-drive-ocamlfuse
所以在以上的提示中找到bin中的google-drive-ocamlfuse
!/root/.opam/repo/default/packages/google-drive-ocamlfuse
发现这个可以使用,但是需要使用一些其他的软件
最后解决这个问题的完整代码
#装opam,后装google-drive-ocamlfuse
!apt-get install opam
!opam init
!opam update
!opam install depext
!opam depext google-drive-ocamlfuse
!opam install google-drive-ocamlfuse
#进行授权操作
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!/root/.opam/system/bin/google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | /root/.opam/system/bin/google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
#!!!注意,里面的/root/.opam/system/bin/google-drive-ocamlfuse换成你自己的路径,一般来说你也会得到和我一样的结果
# 指定Google Drive云端硬盘的根目录,名为drive
!mkdir -p drive
!/root/.opam/system/bin/google-drive-ocamlfuse drive
执行完这些代码之后就可以使用啦。
但是注意drive文件在content文件夹下面