metaheuristic-algorithms-python 抛出导入错误,但确实已安装(此包仅在 python3 中测试,我使用的是 python 2.7)

metaheuristic-algorithms-python throws import error but is definitely installed (this package is only tested in python3 and I'm using python 2.7)

我在 python 中安装后无法导入 metaheuristic-algorithms-python 库。为什么这不起作用?它安装在我的站点包中,但无法导入。文档说这仅针对 python3 进行了测试。查看代码,看起来这应该适用于 python 2.7。怎么回事?

$ virtualenv working
$ . working/bin/activate
$ pip install metaheuristic-algorithms-python
$ ls working/lib/python2.7/site-packages/metaheuristic_algorithms
base_algorithm.py   command_line.pyc       function_wrappers      harmony_search.py                          simplified_particle_swarm_optimization.pyc  version.py
base_algorithm.pyc  firefly_algorithm.py   genetic_algorithm.py   harmony_search.pyc                         simulated_annealing.py                      version.pyc
command_line.py     firefly_algorithm.pyc  genetic_algorithm.pyc  simplified_particle_swarm_optimization.py  simulated_annealing.pyc
$ working/bin/python -c "import metaheuristic_algorithms"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named metaheuristic_algorithms

你知道他们怎么说不支持 Python 2 吗?好吧,这是在 Python 3 而不是 Python 2 上工作的事情之一。具体来说,这个包没有 __init__.py.

在 Python 3 上,没有 __init__.py 的包是 namespace package,一种与常规包的工作方式略有不同的包。在 Python 2 上,没有 __init__.py 的文件夹甚至不是包。你不能导入这个东西,因为 Python 不认为它是一个包。