导入python-pptx:ModuleNotFoundError:没有名为“ pptx”的模块

时间:2018-12-03 18:05:47

标签: python module python-pptx

我正在macOS Mojave(10.14.1)上运行Python 3.6.6rc1,并且尝试导入python-pptx

当前,我的第一行正在引起问题:

import python-pptx

我删除了该内容并将其添加,但无济于事。

from pptx import Presentation

这是我的错误:

ModuleNotFoundError: No module named 'pptx'

我已经使用pip下载了python-pptx:

sudo pip install python-pptx

在终端上运行pip show python-pptx,我得到:

Name: python-pptx
Version: 0.6.16
Summary: Generate and manipulate Open XML PowerPoint (.pptx) files
Home-page: http://github.com/scanny/python-pptx
Author: Steve Canny
Author-email: python-pptx@googlegroups.com
License: The MIT License (MIT)
Location: /Library/Python/2.7/site-packages
Requires: lxml, Pillow, XlsxWriter
Required-by: 

如您所见,LocationVersion不同。有问题吗?


在外壳中运行sys.path会显示:

['/Users/gstrickland/Desktop', '/Users/gstrickland/Documents', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']

正在运行python -m pip show python-pptx,我得到了:

Name: python-pptx
Version: 0.6.16
Summary: Generate and manipulate Open XML PowerPoint (.pptx) files
Home-page: http://github.com/scanny/python-pptx
Author: Steve Canny
Author-email: python-pptx@googlegroups.com
License: The MIT License (MIT)
Location: /Users/gstrickland/Library/Python/2.7/lib/python/site-packages
Requires: lxml, Pillow, XlsxWriter
Required-by: 

位置不同,但仍位于2.7


跑步python -c'import sys; print(sys.path)'给我:

['', '/Library/Python/2.7/site-packages/pip-18.1-py2.7.egg', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/Users/gstrickland/Library/Python/2.7/lib/python/site-packages', '/Library/Python/2.7/site-packages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC']

如何解决此错误?

3 个答案:

答案 0 :(得分:1)

您已经以对应于系统Python 2.7的pip安装了python-pptx,而不是要使用的Python 3.6。用

安装东西
python -m pip install --user ...

代替

sudo pip install ...

确保您为Python使用正确的pip,并避免与通过sudo运行pip相关的其他一些问题。

答案 1 :(得分:0)

检查模块在“ sys.path”打印的任何路径中是否可用。
模块未安装或模块搜索路径中不可用。

答案 2 :(得分:0)

您需要将python-pptx软件包安装为:

pip install python-pptx

您可以测试代码以验证安装:

from pptx import Presentation


def main():
    prs = Presentation()
    title_slide_layout = prs.slide_layouts[0]
    slide = prs.slides.add_slide(title_slide_layout)
    title = slide.shapes.title
    subtitle = slide.placeholders[1]

    title.tetx = "Hello World fromm pptx"
    subtitle.text = "using python-ppts!!!"
    prs.save("test.pptx")


if __name__ == "__main__":
    main()