为什么我无法导入我的 pip 列表中的库?

Why I cannot import a library that is in my pip list?

我刚刚用 sudo -E pip install pypng 安装了 pypng 库。当我执行 pip list 时,我在列表中看到了这个库(我看到的版本是 0.0.18)。

当我启动 python(或 ipython)会话并执行时

import pypng

我明白了

ImportError: No module named pypng

我认为模块名称只是 png。请尝试以下操作:

import png

根据 github 上的文档,您需要导入 png。

import png
png.from_array([[255, 0, 0, 255],
                [0, 255, 255, 0]], 'L').save("small_smiley.png")

库名并不总是安装包的名称。对于 pypng,它只是 png,如 noted in the documentation

如果文档没有提供足够的信息,您可以使用 pip show 列出指定包的所有已安装文件:

$ python -m pip show -f pypng                                                  
Metadata-Version: 2.0
Name: pypng
Version: 0.0.18
Summary: Pure Python PNG image encoder/decoder
Home-page: https://github.com/drj11/pypng
Author: David Jones
Author-email: drj@pobox.com
License: UNKNOWN
Location: /usr/lib/python3.5/site-packages
Requires: 
Files:
  __pycache__/png.cpython-35.pyc
  png.py
  pypng-0.0.18.dist-info/DESCRIPTION.rst
  pypng-0.0.18.dist-info/INSTALLER
  pypng-0.0.18.dist-info/METADATA
  pypng-0.0.18.dist-info/RECORD
  pypng-0.0.18.dist-info/WHEEL
  pypng-0.0.18.dist-info/metadata.json
  pypng-0.0.18.dist-info/top_level.txt

如您所见,有 png.py 个文件,正在使用 import png 导入。