В каком каталоге работает GCP Cloud Shell?

Я пытаюсь настроить базовую среду разработки Python через интерфейс командной строки GCP Cloud Shell, и я пытаюсь активировать virtualenv для запуска некоторых вещей в Dataflow. Однако я обнаружил, что не понимаю, в каком каталоге работает Cloud Shell.

Моя подсказка показывает следующее:

my_name@cloudshell:~ (my-project-name)$

Я установил virtualenv на свой локальный компьютер в предыдущем сеансе и только что попытался активировать виртуальную среду через этот ранее установленный файл активации на моем локальном компьютере с помощью

source C:/Folder1/Folder2/virtualenv/Scripts/activate

но я продолжал получать «Нет такого файла или каталога», хотя это правильный путь. После некоторого расследования я обнаружил, что Cloud Shell по умолчанию работает из следующего каталога:

/home/my_name/C:/Folder1/Folder2/virtualenv

(в котором нет папки Scripts, которая вызвала ошибку каталога)

Этот каталог префиксов /home/my_name/... нигде не находится на моем локальном компьютере. Я понимаю, что понятия не имею, из какого каталога работает Cloud Shell.

У меня такое ощущение, что я установил много файлов своей среды в этот странный каталог-призрак (возможно, случайно), и теперь я потерял контроль над структурой своей среды разработки, потому что теперь у меня есть файлы virtualenv на моем локальном компьютере. , и некоторые другие файлы virtualenv в этом каталоге-призраке.

Кто-нибудь может объяснить

1) Где этот каталог находится на моей машине, если он вообще есть?

2) Если я предполагается настроить всю свою среду из этого каталога-призрака?

3) Если я просто испортил установку своей среды с самого начала и должен начать все заново?

Ценю любую помощь, спасибо.


person AdamC    schedule 15.10.2018    source источник
comment
Я всегда предполагал, что Cloud Shell - это среда Unix, тогда как пути, которые вы упоминаете, похожи на Windows (диск C - C :). В Unix вы можете запустить pwd, чтобы определить текущий каталог.   -  person Kolban    schedule 16.10.2018
comment
Правильно ли я понимаю, что вы ожидаете, что виртуальные среды, созданные локально, будут доступны в Cloud Shell?   -  person Dustin Ingram    schedule 16.10.2018
comment
@Kolban да, pwd - вот как я узнал об этой проблеме. Мне нужно пояснить, что такое среда, поскольку текущий каталог, похоже, не существует на моем локальном компьютере.   -  person AdamC    schedule 16.10.2018
comment
@Dustin Я предполагаю, что Cloud Shell может взаимодействовать с моим локальным компьютером и взаимодействовать с виртуальной средой, которая находится на моем локальном компьютере.   -  person AdamC    schedule 16.10.2018


Ответы (2)


Google Cloud Shell (не путать с программой gcloud) работает на виртуальной машине в Google Cloud. Он ничего не знает о вашем рабочем столе. Вы можете выгружать / скачивать файлы с / на свой рабочий стол с помощью веб-браузера, который содержит пользовательский интерфейс для Cloud Shell.

person John Hanley    schedule 16.10.2018
comment
Хорошо, это имеет смысл. Но я установил virtualenv (вместе с файлом активации, который мне нужен для активации виртуальной среды) на моем локальном компьютере во время процесса установки, но, похоже, у меня нет возможности активировать с моего локального компьютера из-за этой проблемы с каталогом Cloud Shell. . Должен ли я вместо этого установить его в этот GCVM? - person AdamC; 16.10.2018
comment
Если вы занимаетесь разработкой, вам не нужен Google Cloud Shell. Установите gcloud, sdk и т. Д. На свой рабочий стол и разрабатывайте локально. Google Cloud Shell ничего не сохраняет между вызовами. Cloud Shell - отличная среда, но она не предназначена для разработки. - person John Hanley; 16.10.2018

Если вы не используете sshfs на Mac или Linux с gcloud alpha cloud-shell для монтирования локальных каталогов (как подробно описано в это сообщение в блоге), Cloud Shell не будет иметь доступа к вашей локальной файловой системе.

person Dustin Ingram    schedule 15.10.2018
comment
Если он не имеет доступа к моей локальной файловой системе, как я смог использовать его для установки virtualenv в моей локальной системе? Кроме того, если этого каталога нет в моей локальной системе, где он? - person AdamC; 16.10.2018
comment
Возможно, вы скопировали туда файлы? Или, возможно, у вас уже установлен virtualenv? В любом случае Cloud Shell работает на виртуальной машине в облаке, поэтому ничего не знает о вашей локальной системе. - person Dustin Ingram; 16.10.2018