簡體   English   中英

Elastic Beanstalk無法識別文件的絕對路徑,返回FileNotFoundError

[英]Elastic Beanstalk won't recognize absolute path to file, returns FileNotFoundError

我正在使用AWS Elastic Beanstalk運行Flask應用程序。 該應用程序已成功部署,但是我的代碼中有一個任務,其中我使用pandas read_csv從csv文件中提取數據。 代碼行是:

form1 = pd.read_csv('/opt/python/current/app/application/model/static2/form1.csv')

當我嘗試在應用程序中執行該任務時,我收到FileNotFoundError:
FileNotFoundError: [Errno 2] File b'/opt/python/current/app/application/model/static2/form1.csv' does not exist: b'/opt/python/current/app/application/model/static2/form1.csv'

當我在本地執行程序時,不會發生此問題,只有當我使用文件的完整絕對路徑時才發生。 這是由於我的依賴項的設置方式。

is the absolute path to the file uploaded on Beanstalk. 首次部署該應用程序時,由於仍在使用文件的本地路徑,因此收到了錯誤消息,因此將其更改為您在上面看到的路徑,我這是Beanstalk上載文件的絕對路徑。 我之所以這樣認為是因為我是從靜態映像復制而來的,而該靜態映像之前存在問題。

我應該注意,我無法驗證絕對路徑,因為我無法使用EB CLI遠程進入Elastic Beanstalk。 幾天來,我一直在嘗試在計算機上設置EB CLI,但反復失敗,我認為是由於計算機上的版本和文件問題怪異。 因此,我無法使用命令行獲取信息或解決問題。

那么,我上面使用的路徑是否與EB絕對路徑一致? 可以通過添加我的靜態文件配置來解決此問題嗎? 如果是這樣,我該如何添加到.config文件中?

任何幫助是極大的贊賞。

問題解決了! 我的過程是由RQ工人執行的。 rq工作程序正在我的本地計算機上運行,​​但我沒有意識到這是工作程序在尋找文件路徑。 我通過打印os.getcwd()並注意到當前的工作目錄仍然是我的本地路徑來解決這個問題。 因此,我在FileNotFoundError上拋出了一個異常,要求工作人員根據需要使用本地路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM