【问题标题】:how to add the path to PYTHONPATH in google colab如何在 google colab 中添加 PYTHONPATH 的路径
【发布时间】:2019-10-06 01:20:00
【问题描述】:

如何在 google colab 中执行以下命令。 export PYTHONPATH=/project/pylib/src:$PYTHONPATH

!export PYTHONPATH=/project/pylib/src:$PYTHONPATH不影响。

【问题讨论】:

  • ImportError: No module named util
  • 我在这里遇到了同样的问题。如果您知道如何做到这一点,如果您能分享您的解决方案,将不胜感激。谢谢!

标签: python google-colaboratory


【解决方案1】:

编辑 2020-11-12

使用 `%` 而不是 `!` 会保留对会话中所有单元格的任何更改。因此,我们可以使用它来设置环境变量“PYTHONPATH”。但是,导出在 colab 中不起作用。 `%env` 可用于设置环境变量。
! echo $PYTHONPATH
%env PYTHONPATH="$/env/python:/content/gdrive/My Drive/Colab Notebooks/MNIST_Classifier/src"
! echo $PYTHONPATH

输出:

/env/python
/env/python:/content/gdrive/My Drive/Colab Notebooks/MNIST_Classifier/src

初步回答

以下对我有用
! echo $PYTHONPATH

import os
os.environ['PYTHONPATH'] += ":/content/gdrive/My Drive/Colab Notebooks/MNIST_Classifier/src"

! echo $PYTHONPATH

输出:

/env/python
/env/python:/content/gdrive/My Drive/Colab Notebooks/MNIST_Classifier/src

来源:
https://medium.com/@omernaeem/you-can-set-environment-variables-using-os-environ-78a5181b6376
https://stackoverflow.com/a/49684719/3337089

【讨论】:

    【解决方案2】:

    答案取决于你为什么要这样做。

    例如,如果您想添加当前 Python 会话的路径,以便 Python 的导入机制找到位于该目录中的模块,您可以这样做:

    import sys
    sys.path.insert(1, "/project/pylib/src")
    

    如果您想修改环境变量本身(这不会影响当前 Python 会话中使用的路径),您可以使用 %set_env 魔法:

    %set_env PYTHONPATH=/project/pylib/src:/env/python
    

    【讨论】:

    • 但是我想用google colab,这个环境和普通系统有些不同。我只是想将我的项目从我的计算机移动到google colab,根据我的测试,它无法在google colab中导入具有相同目录的包,但它可以在我们的正常系统中工作。所以我需要添加 PYTHONPATH。
    • sys.path.insert 不适用于我,而 sys.path.append 用于导入 colab 目录中存在的包。
    猜你喜欢
    • 2012-05-31
    • 2018-09-12
    • 2020-03-08
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多