【问题标题】:File_x exists in gCloud directory, but gcloud deploy gives FileNotFoundError for File_xFile_x 存在于 gCloud 目录中,但 gcloud deploy 为 File_x 提供 FileNotFoundError
【发布时间】:2019-06-12 12:50:24
【问题描述】:

我已经在本地机器上成功测试了我的Flask 应用程序,并且我已经为gCloud 设置了正确的app.yamlrequirements.txt 文件(以及其余的应用程序文件),但是我得到了一个 FileNotFoundError 文件,该文件实际上存在于我在 gCloud Shell 中创建的目录中。

就上下文而言,我对Flask 应用和gCloud 应用部署非常陌生。

我已经在我的本地机器上成功地测试了我的Flask 应用程序,并且我已经在gCloud 云外壳中设置了正确的app.yamlrequirements.txt 文件以及我的其余文件。对于上下文,在我的主项目目录(名为FlaskProject_App)中,存在一个带有文件CEW_file.txt 的子文件夹“static”。

但是,当我部署项目时,我遇到了一个错误: 用 open(CEW_file.txt) 作为 word_file:

FileNotFoundError: [Errno 2] 没有这样的文件或目录: 'CEW_file.txt'

我尝试在 open() 函数中列出 CEW_file.txt 的整个路径(在 gCloud 中),但它仍然给出了相同的错误 - 它找不到文件。我在 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

【问题讨论】:

    标签: flask web-deployment gcloud


    【解决方案1】:

    这个错误只是告诉你在你提供的路径中找不到文件。

    我了解到您的代码位于 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。如果您在那里看不到它,那么您必须将文件移到那里,这应该可以解决您的问题。

    【讨论】:

    • 嗨@mgoya!我想问 - 这些是我应该输入 python shell 还是 gcloud shell 的命令(指 os 命令)?我认为在本地机器的 python 上使用这些命令没有意义,因为我知道 CEW.txt 文件在我的本地机器上的位置。
    • 没关系 - 我刚刚通过 google cloud shell 打开了 python 应用程序并正在那里编写 os 命令
    • 所以我写了 files = os.listdir(cdir+"/static") 命令,实际上 google cloud shell 给了我一个错误,说没有这样的路径:O 我应该把 CEW_file.txt 放在哪里是吗?
    • 你能在你的云shell中运行命令find . -name "CEW_file.txt"吗?该命令将向您显示文件的确切路径。
    猜你喜欢
    • 2021-02-06
    • 2023-02-11
    • 2019-02-27
    • 2016-12-16
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    相关资源
    最近更新 更多