File_x существует в каталоге gCloud, но gcloud deploy предоставляет FileNotFoundError для File_x - PullRequest
0 голосов
/ 18 января 2019

Я успешно проверил свое приложение Flask на своем локальном компьютере и настроил правильные файлы app.yaml и requirements.txt (и остальные файлы приложения) для gCloud, и все же Я получаю FileNotFoundError для файла, который фактически существует в каталоге, который я создал в gCloud Shell.

Для контекста я очень новичок в развертывании приложения Flask и gCloud.

Я успешно протестировал свое приложение Flask на своем локальном компьютере и настроил правильные файлы app.yaml и requirements.txt, а остальные мои файлы - в облачной оболочке gCloud. Для контекста, в моем главном каталоге проекта (с именем FlaskProject_App) существует подпапка «static» с файлом CEW_file.txt.

Однако при развертывании проекта я вижу ошибку: с открытым (CEW_file.txt) как word_file:

FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'CEW_file.txt'

Я попытался перечислить полный путь (в gCloud) CEW_file.txt в функции open (), но все равно выдает ту же ошибку - он не может найти файл. Путь, который я пробовал в функции open (), был /home/vmagent/app/static/CEW_file.txt, но он тоже не работал.

Я также пытался ~/FlaskProject_App/static/CEW_file.txt, так как эти каталоги перечислены в моем gCloud (как показано на рисунке ниже), но это также не удалось, давая тот же FileNotFoundError.

common_words = []
with open('~/FlaskProject_App/static/CEW_file.txt', 'r') as 
word_file:
f = word_file.read()
for line in f.split('\n'):
    common_words.append(line)

Я ожидал, что команда gcloud app deploy будет работать, но вместо этого, даже если моя файловая система в gCloud имеет CEW_file.txt, хранящуюся как: [myusername]/FlaskProject_app/static/CEW_file.txt, команда open () все еще выдала FileNotFoundError.

1 Ответ

0 голосов
/ 18 января 2019

Эта ошибка просто говорит вам, что файл не найден по указанному вами пути.

Я понимаю, что ваш код находится в папке FlaskProject_app, а внутри него есть еще один, называемый static, который содержит CEW_file.txt.

Если это так, то вы сможете открыть файл, используя

open('static/CEW_file.txt', 'r')

Если это не сработает, попробуйте использовать эти строки, чтобы увидеть, какие файлы находятся в папке static:

cdir = os.getcwd()
files = os.listdir(cdir+"/static")

и напечатайте переменную files, чтобы увидеть, можете ли вы найти CEW_file.txt в списке. Если вы не видите его там, вам придется переместить файл туда, и это должно решить вашу проблему.

...