我正在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:
如您所见,Location
与Version
不同。有问题吗?
在外壳中运行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']
如何解决此错误?
答案 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()