没有模块名称索引

时间:2018-08-25 07:25:29

标签: python numpy python-3.6

嗨,我是python和pyflann的新手。我确实安装了pyflann并尝试运行它的测试示例。执行后,出现错误

from pyflann import FLANN
import numpy as np

dataset = np.array(
     [[1., 1, 1, 2, 3],
     [10, 10, 10, 3, 2],
     [100, 100, 2, 30, 1]
     ])
testset = np.array(
     [[1., 1, 1, 1, 1],
     [90, 90, 10, 10, 1]
     ])
flann = FLANN()
result, dists = flann.nn(dataset, testset, 2, 
algorithm="kmeans"branching=32, iterations=7, checks=16)
print (result)
print (dists)

dataset = np.random.rand(10000, 128)
testset = np.random.rand(1000, 128)
flann = FLANN()
result, dists = flann.nn(dataset, testset, 5, algorithm="kmeans", 
branching=32, iterations=7, checks=16)
print (result)
print (dists)

当我尝试执行上述代码时,我得到了类似的东西

from index import *

ModuleNotFoundError: No module named 'index'

有人可以回答这个问题吗,因为我将这些文件放在pyflann的站点包中,而我的python版本是3.6。以及如何继续运行上面的代码。

1 个答案:

答案 0 :(得分:0)

请参阅: https://github.com/primetang/pyflann/issues/1

显然,在为python3安装pyflann时,您需要修复一些语法错误。例如:

  • except Exception,e应该更改为except Exception as e

  • from foo import *应更改为from .foo import *

  • exec需要括号。
  • 在pyflann / io / datasets.py中,您需要编写from . import binary_datasetfrom . import dat_datasetfrom . import npy_datasetfrom . import hdf5_dataset,而不是import dat_dataset和其他人。