从 python 中的库导入

import from lib in python

我导入 vtt_to_srt converter.I 阅读 instructions.I 使 installation.From 开始于此 "no problem" 但是当我按照手册描述导入它时 python 在那里找不到模块。 安装

pip install vtt_to_srt3

用法

from vtt_to_srt import vtt_to_srt
path = '/path/to/file.vtt'
vtt_to_srt(path)

错误

ImportError: cannot import name 'vtt_to_srt' from 'vtt_to_srt'

我是rookie.Sorry问这个问题的。

因为您正试图从不存在的模块中导入一个函数。

该模块的正确方法是:

import vtt_to_srt

@SakuraFreak 的回答也是我的直接想法,但我最终对此进行了进一步调查。似乎 vtt_to_srt 将其所有 API 存储在模块的 __main__.py 文件中。当您想要使用 python -m.

的模块时,通常应该使用此文件

这实际上使模块无法按照文档指定的方式使用。我试过的是:

from vtt_to_srt.__main__ import vtt_to_srt
print(vtt_to_srt)

这导致:

<function vtt_to_srt at 0x000002A0948216A8>

所以这个解决方法似乎没问题。

我不知道将所有模块的代码存储在 __main__.py 中是否是我的 Python 版本不支持的一些约定([=27= 上的 CPython 3.7.3 ]), 或者它只是一个错误。也许你应该用这个来接近模块的所有者。