无法在弹性beantalk的django应用上安装nltk数据

pan*_*jha 3 python django nltk amazon-web-services amazon-elastic-beanstalk

我在Django应用中使用nltk_tokenize。为此,我需要下载nltk数据,以便可以将其用于阻止。我正在通过Elastic beanstalk在云上部署django应用程序。

现在我包括了

nltk.download('punkt') 
Run Code Online (Sandbox Code Playgroud)

在我的意见中,以便下载所需的数据。但我收到以下错误

[Errno 2] No such file or directory: '/home/wsgi/nltk_data'
Run Code Online (Sandbox Code Playgroud)

正确的方法是什么?

Gus*_*taf 5

我不确定nltk_tokenize到底是什么,但是您的应用程序是否由wsgi用户在Elastic Beanstalk上运行。这是没有主目录的用户。您需要指定到/ opt / python / current / app(在Elastic beanstalk中您的应用程序的目录)或/ tmp /之类的位置的路径,或者现在应该有意义的路径。

编辑:注释后已更正目录。

  • 值得一提的是,Elastic Beanstalk 的应用程序目录是 /opt/python/current/app,而不是相反。此外,如果您下载到那里,它将在您的下一次部署中被擦除。 (2认同)