如何在python中安装带下划线的模块名?

如何在python中安装带下划线的模块名?,python,import,module,init,levenshtein-distance,Python,Import,Module,Init,Levenshtein Distance,正如您所看到的,我正在尝试安装Levenshtein模块 我能够通过python setup.py build运行setup.py文件 然后,当我通过从终端执行python立即进入python时,在与文件夹Levenshtein相同的文件夹中,我尝试导入它: 导入Levenshtein 但我得到了以下错误: >>> import Levenshtein Traceback (most recent call last): File "<stdin>",

正如您所看到的,我正在尝试安装Levenshtein模块

我能够通过
python setup.py build
运行
setup.py
文件

然后,当我通过从终端执行
python
立即进入python时,在与文件夹
Levenshtein
相同的文件夹中,我尝试导入它:

导入Levenshtein

但我得到了以下错误:

    >>> import Levenshtein
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "Levenshtein/__init__.py", line 1, in <module>
    from Levenshtein import _levenshtein
ImportError: cannot import name _levenshtein

这个导入有什么意义,我应该如何获得一个名为
\u levenshtein
的文件?

我想你把pypi包名和模块名混淆了,它们不是一回事

的确,大多数时候它们都是相同的,因为两者使用相同的名称是有意义的

尽管如此,大约10-15%的现有pypi软件包将安装具有不同名称的模块,有时将多个模块作为同一软件包的一部分


因此,您必须找到安装模块的pypi包的名称,仅此而已。

您需要编译它们。模块的
setup.py
脚本通常在构建过程中已经完成了这项工作。如果没有,请尝试
python setup.py build\u ext
。为什么不使用
pip
pip安装python levenshtein
它不会自动执行,或者看起来是这样。我将手动编译它们。请给出一个关于不同包名和模块名概念的虚构示例。还有-用户如何找出包中可用的模块名称?
 _levenshtein.c   _levenshtein.h