Как определить, где запущен код python — в PyCharm или в Google Colab?

Для определения, где запущен код Python — в PyCharm или в Google Colab, можно использовать следующий подход.

1. Проверка наличия модуля. В Google Colab есть модуль google.colab, который не доступен в PyCharm. Можно проверить его наличие в коде следующим образом:

try:
    import google.colab
    environment = "Google Colab"
except ImportError:
    environment = "PyCharm"
    
print("Код выполняется в {}.".format(environment))

Если код выполняется в Google Colab, то переменная environment будет установлена в значение "Google Colab". Если код выполняется в PyCharm, то переменная environment будет установлена в значение "PyCharm".

2. Проверка переменных среды. В Google Colab установлены специфичные переменные среды, которых нет в PyCharm. Можно использовать эту информацию для определения текущей среды выполнения. Например, можно проверить наличие переменной COLAB_GPU следующим образом:

import os

if "COLAB_GPU" in os.environ:
    environment = "Google Colab"
else:
    environment = "PyCharm"
    
print("Код выполняется в {}.".format(environment))

Если код выполняется в Google Colab, то переменная environment будет установлена в значение "Google Colab". Если код выполняется в PyCharm, то переменная environment будет установлена в значение "PyCharm".

3. Проверка наличия особенностей среды выполнения. Обе среды выполнения, PyCharm и Google Colab, имеют свои особенности. Некоторые из них можно использовать для определения текущей среды выполнения. Например, в Google Colab доступна команда !pwd для вывода текущей директории, которая не будет работать в PyCharm. Можно использовать эту команду следующим образом:

import subprocess

try:
    subprocess.run(["pwd"], check=True)
    environment = "Google Colab"
except subprocess.CalledProcessError:
    environment = "PyCharm"
    
print("Код выполняется в {}.".format(environment))

Если код выполняется в Google Colab, то переменная environment будет установлена в значение "Google Colab". Если код выполняется в PyCharm, то переменная environment будет установлена в значение "PyCharm".

Заметьте, что эти методы могут не всегда быть надежными, так как не могут охватить все возможные ситуации. Лучший подход — комбинирование нескольких методов, чтобы повысить точность определения текущей среды выполнения.