首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从导入TextBlob时出错

从导入TextBlob时出错
EN

Stack Overflow用户
提问于 2018-05-09 18:45:47
回答 1查看 573关注 0票数 0

在Laravel项目中运行Python脚本时,我遇到了问题。在使用虚拟和非虚拟运行python脚本时,我不会遇到这个问题。我用的是Win 10 64位。

当使用Symfony/Process在Laravel中运行python脚本时,我得到了以下错误:

代码语言:javascript
复制
"""
The command "C:\xampp\htdocs\projects\laravel-project\scripts\sentiment\env\Scripts\activate && py C:\xampp\htdocs\projects\laravel-project\scripts\sentiment\main.py" failed.\n ◀
\n
Exit Code: 1(General error)\n
\n
Working directory: C:\xampp\htdocs\projects\laravel-project\public\n
\n
Output:\n
================\n
\n
\n
Error Output:\n
================\n
Traceback (most recent call last):\r\n
  File "C:\xampp\htdocs\projects\laravel-project\scripts\sentiment\main.py", line 10, in <module>\r\n
    from textblob import TextBlob\r\n
  File "C:\xampp\htdocs\projects\laravel-project\scripts\sentiment\env\lib\site-packages\textblob\__init__.py", line 2, in <module>\r\n ◀
    from .blob import TextBlob, Word, Sentence, Blobber, WordList\r\n
  File "C:\xampp\htdocs\projects\laravel-project\scripts\sentiment\env\lib\site-packages\textblob\blob.py", line 28, in <module>\r\n
    import nltk\r\n
  File "C:\xampp\htdocs\projects\laravel-project\scripts\sentiment\env\lib\site-packages\nltk\__init__.py", line 160, in <module>\r\n
    from nltk.downloader import download, download_shell\r\n
  File "C:\xampp\htdocs\projects\laravel-project\scripts\sentiment\env\lib\site-packages\nltk\downloader.py", line 2237, in <module>\r\n ◀
    _downloader = Downloader()\r\n
  File "C:\xampp\htdocs\projects\laravel-project\scripts\sentiment\env\lib\site-packages\nltk\downloader.py", line 443, in __init__\r\n ◀
    self._download_dir = self.default_download_dir()\r\n
  File "C:\xampp\htdocs\projects\laravel-project\scripts\sentiment\env\lib\site-packages\nltk\downloader.py", line 954, in default_download_dir\r\n ◀
    raise ValueError("Could not find a default download directory")\r\n
ValueError: Could not find a default download directory\r\n
"""

根据我的理解,nltk是textblob依赖项,但是nltk/loadloader.py在default_download_dir上返回false (但是在python中测试if条件时应该是正确的):

代码语言:javascript
复制
    # On Windows, use %APPDATA%
    if sys.platform == 'win32' and 'APPDATA' in os.environ:
        homedir = os.environ['APPDATA']

    # Otherwise, install in the user's home directory.
    else:
        homedir = os.path.expanduser('~/')
        if homedir == '~/':
            raise ValueError("Could not find a default download directory")

这就是在我的main.py上声明textblob的方式

代码语言:javascript
复制
from textblob import TextBlob

我的其他进口产品除了这个特定的包外没有任何问题。我现在在一个路障上,所以所有的帮助都会受到感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-10 05:40:55

我从这篇文章中得到了答案:ValueError: Could not find a default download directory of nltk

我所做的是在py脚本中初始化一个NLTK_DATA环境变量。这解决了问题。

代码语言:javascript
复制
import os

os.environ['NLTK_DATA'] = os.path.abspath('../scripts/nltk_data')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50260158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档