setup.py 中 entry_points 的导入错误

ImportError for entry_points in setup.py

当我尝试调用在我的 setup.py 中定义的控制台脚本入口点时,我得到一个 ImportError: No module named 'test.nested'

但是,我得到这个错误:

> pip install .
Processing my_folders/test
Installing collected packages: test
  Running setup.py install for test ... done
Successfully installed test-0.1

> testme

Traceback (most recent call last):
  File "venv35/bin/testme", line 11, in <module>
    load_entry_point('test==0.1', 'console_scripts', 'testme')()
  File "venv35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 560, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "venv35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2648, in load_entry_point
    return ep.load()
  File "venv35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2302, in load
    return self.resolve()
  File "venv35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2308, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ImportError: No module named 'test.nested'

这里可能是什么问题?

注意:在 python shell 中,此代码有效:

>>> import test.nested.testme
>>> test.nested.testme.main()
It works!

好吧,显然我为我的包裹使用了一个错误的名字。事实上,将 test 重命名为 my_test 就解决了这个问题。

我希望这对其他人有用。