错误:ImportError: No module named docx --> using nodeJS python-shell package to control python script

吸血鬼

我正在尝试一些相对简单的事情,但收到此错误:

Error: ImportError: No module named docx

这是我的 nodeJS 脚本:

const python = require('python-shell');

const shell = new python('../Python/test.py');

let names = ['Hubert', 'Rupert', 'Sherbert', 'Wubbert', 'Paul'];

shell.send(JSON.stringify(names));

shell.on('message', message => console.log(message));

shell.end(message => {console.log(message)});

python脚本“test.py”:

import sys, json
from docx import Document

names = json.loads(sys.stdin.readlines()[0])
document = Document('test.docx')

for name in names:
    for paragraph in document.paragraphs:
        if '$$Name$$' in paragraph.text:
            paragraph.text = name
            document.save(name+'.docx')

print('completed')

test.docx 是一个空白的word 文件,顶部写有“$$Name$$”。

有任何想法吗?当我使用 docx 在 pyCharm 中运行任何测试时,它工作正常并且不提供此错误。仅当我在节点脚本中通过 python-shell 调用时。

我试过设置这样的选项:

const python = require('python-shell');

let options = {
    pythonPath : '/usr/local/bin/python3'
};

python.defaultOptions = options;

const shell = new python('../Python/test.py');

// rest of code is the same

我验证了这条路径是 python3 在我的 mac 上的位置

我没有使用这些选项的运气。所有这些都提供了一个类似的错误:Error: docx.opc.exceptions.PackageNotFoundError: Package not found at 'test.docx

微不足道的

这是两个不同的错误。第一个意味着 Python 找不到docx包(模块)。第二个意味着 .docx 文件未找到或不是有效的 .docx 文件。

第二个错误更好;因为该错误来自docx库本身,这意味着找到并加载了该库。所以无论你在做什么让它找到docx包,你都想继续这样做。

获取包未找到错误的一个常见原因是 Python 使用的当前目录与您认为的不同,并且找不到文件,因为它使用的实际文件路径不存在。

请注意,此处在两个不同的上下文中使用了不同的术语“包”。一个是 Python 包,就像python-docx你用pip. 第二个是开放打包约定 (OPC) 包,也就是 .docx 文件。所以第二个错误是说“我在你给我的路径上找不到 .docx 文件”,第一个是说“我认为你没有安装python-docxPython 库”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Jython StreamSets 中导入 python 模块 - ImportError: No module named

来自分类Dev

Python 给出 ImportError: No module named sqlalchemy.util._collections in pycharm

来自分类Dev

在python3中,安装twisted后,当导入twisted时,它显示“ ImportError:No module named'twisted'”

来自分类Dev

Ubuntu - 在 python 中运行程序时出错:“ImportError: No module named mxnet”

来自分类Dev

No module named (import error Python 2.7)

来自分类Dev

关于这个令人困惑的Python“ No module named expat; Use SimpleXMLTreeBuilderInstead”错误的任何想法吗?

来自分类Dev

关于这个令人困惑的Python“ No module named expat; Use SimpleXMLTreeBuilderInstead”错误的任何想法吗?

来自分类Dev

从python脚本制作独立可执行文件时如何解决“ImportError:No module named dis3”

来自分类Dev

带有Python版本2.7.6的Ubuntu Server 14.04上python中的'No module named libxml2'错误

来自分类Dev

using ffmepg in python, shell and stdout

来自分类Dev

页码python-docx

来自分类Dev

Python Docx样式

来自分类Dev

docx在python中列出

来自分类Dev

我有一个错误“ModuleNotFoundError: No module named '__main__.models'; '__main__' is not a package”

来自分类Dev

在python-docx中的Windows上找不到包错误?

来自分类Dev

带有“列表段落”的python-docx样式错误

来自分类Dev

Flask - ImportError: No module named migrate.versioning

来自分类Dev

ImportError: No module named rest_framework.authtoken

来自分类Dev

模板URL重定向在Django 1.6中生成ImportError“ no module named”错误

来自分类Dev

模板URL重定向在Django 1.6中生成ImportError“ no module named”错误

来自分类Dev

from flask_mysqldb import MySQL 给出导入错误:ImportError: No module named flask_mysqldb

来自分类Dev

在python 3中解析.docx

来自分类Dev

Python docx库文本对齐

来自分类Dev

python-docx插入点

来自分类Dev

Python-docx样式格式

来自分类Dev

使用python读写.docx文件

来自分类Dev

Django和python-docx

来自分类Dev

在python 3中解析.docx

来自分类Dev

Python Docx - 如何给标题编号?

Related 相关文章

  1. 1

    在 Jython StreamSets 中导入 python 模块 - ImportError: No module named

  2. 2

    Python 给出 ImportError: No module named sqlalchemy.util._collections in pycharm

  3. 3

    在python3中,安装twisted后,当导入twisted时,它显示“ ImportError:No module named'twisted'”

  4. 4

    Ubuntu - 在 python 中运行程序时出错:“ImportError: No module named mxnet”

  5. 5

    No module named (import error Python 2.7)

  6. 6

    关于这个令人困惑的Python“ No module named expat; Use SimpleXMLTreeBuilderInstead”错误的任何想法吗?

  7. 7

    关于这个令人困惑的Python“ No module named expat; Use SimpleXMLTreeBuilderInstead”错误的任何想法吗?

  8. 8

    从python脚本制作独立可执行文件时如何解决“ImportError:No module named dis3”

  9. 9

    带有Python版本2.7.6的Ubuntu Server 14.04上python中的'No module named libxml2'错误

  10. 10

    using ffmepg in python, shell and stdout

  11. 11

    页码python-docx

  12. 12

    Python Docx样式

  13. 13

    docx在python中列出

  14. 14

    我有一个错误“ModuleNotFoundError: No module named '__main__.models'; '__main__' is not a package”

  15. 15

    在python-docx中的Windows上找不到包错误?

  16. 16

    带有“列表段落”的python-docx样式错误

  17. 17

    Flask - ImportError: No module named migrate.versioning

  18. 18

    ImportError: No module named rest_framework.authtoken

  19. 19

    模板URL重定向在Django 1.6中生成ImportError“ no module named”错误

  20. 20

    模板URL重定向在Django 1.6中生成ImportError“ no module named”错误

  21. 21

    from flask_mysqldb import MySQL 给出导入错误:ImportError: No module named flask_mysqldb

  22. 22

    在python 3中解析.docx

  23. 23

    Python docx库文本对齐

  24. 24

    python-docx插入点

  25. 25

    Python-docx样式格式

  26. 26

    使用python读写.docx文件

  27. 27

    Django和python-docx

  28. 28

    在python 3中解析.docx

  29. 29

    Python Docx - 如何给标题编号?

热门标签

归档