首页 > 解决方案 > 如何更改谷歌colab中的路径?

问题描述

我目前正在努力更好地熟悉 Google Colab,并将其用作 Python 的编码环境。我正在尝试设置一个 ipynb 脚本进行测试。作为其中的一部分,我正在尝试安装 pipenv。我正在遵循(https://docs.python-guide.org/dev/virtualenvs/#lower-level-virtualenv)的指示

部分说明将路径从 ~/.local 更改为 ~/.local/bin。我运行命令:“!python -m site --user.base”来确定路径,它返回“/root/.local” 我对 Colab 不是很熟悉,所以我不知道是否已经有 bin 文件存在,或者如果我需要做一个或什么。我也不确定在设置路径时什么是最安全的,以及对于 Colab 应该遵循什么最佳实践。通常我通过 GUI 修改我的 Windows 机器上的路径,而且我以前从未使用命令行来更改它。提前感谢任何知道如何做到这一点的人。

标签: pythonpathgoogle-colaboratorypipenv

解决方案


好的,这是我在尝试安装 pipenv 时从 Google Collaboratory 收到的错误消息的副本:

    WARNING: The script virtualenv is installed in '/root/.local/bin' which is not on PATH.
    Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
    WARNING: The script virtualenv-clone is installed in '/root/.local/bin' which is not on PATH.
    Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
    WARNING: The scripts pipenv and pipenv-resolver are installed in '/root/.local/bin' which is not on PATH.
    Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

由于我不太确定这些警告的含义,所以我还是运行了 pipenv install 命令:

    !pipenv install requests

这导致了一条错误消息,基本上说找不到命令 pipenv。

我没有任何在 Colab 中或从命令行设置路径变量的经验,因此我查看了另一个用户 [link] 提出的以下 stackoverflow 问题:如何在 goggle colab 中插入 geckodriver 的路径(环境变量)?尝试了解如何去做。查看后,我运行了以下命令:

    !cp /root/.local/bin /usr/local

这导致了自动评论:

    cp: -r not specified; omitting directory '/root/.local/bin'

正如我之前所说,我没有任何从命令行设置系统变量的经验,而且我所读到的所有内容都带有警告,例如:未能正确执行此操作可能会永久损坏您的机器。所以我犹豫要不要加上“-r”标志。
在进行网络搜索后,我从该站点 [链接] 中找到了 -r(递归复制)标志的一个很好的解释:https ://superuser.com/questions/839719/why-is-r-recursive-necessary-when-复制-a-directory-in-linux/839749并运行以下命令:

    !cp -r /root/.local/bin /usr/local

这没有发生任何事故,我打电话给:

    !pipenv install requests

成功!它顺利运行。由于我想保存我正在编写的脚本中的结果,我之前使用以下方法安装了一个虚拟驱动器:

    from google.colab import drive
    from google.colab import files

    drive.mount('/content/drive')

我还在我的谷歌驱动器中创建了一个新目录来保存这个脚本和任何未来的数据文件等......当我运行上面的代码时我不在目录中,我不知道这是否会出现问题。我对 Python 及其虚拟环境并不十分熟悉。如果有人知道这是否会成为问题,请随时给我发消息。感谢所有阅读此问题并尝试回答,甚至考虑过答案的人。


推荐阅读