打包python文件不起作用。 “ ModuleNotFoundError:没有名为“ Pokemon”的模块”

时间:2018-07-12 13:49:49

标签: python module package

我正在尝试为Pokemon创建一个api,并且正在考虑对其进行打包,但是无论我做什么,只要尝试从此文件中导入,都会出现此错误。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/student/anaconda3/lib/python3.6/site-packages/pokeapi/__init__.py", line 1, in <module>
    from Pokemon import *
ModuleNotFoundError: No module named 'Pokemon'

目录如下:

/pokeapi
    /pokeapi
        __init__.py
        Pokemon.py
    setup.py

我使用pip安装它,然后出现该错误。

init .py的代码:

from Pokemon import *

Pokemon.py的代码:https://hastebin.com/qegupucuma.py

我不知道我在做什么错

2 个答案:

答案 0 :(得分:0)

您正在尝试导入Pokemon,而不访问父文件夹。如果您不使用相对导入或不为模块编写完整路径,它将认为您要导入的模块位于项目根目录中。

基本上,根目录是您正在运行它的文件夹。尝试将pokemon.py文件创建到第一个pokeapi旁边的setup.py文件夹中,然后可以正常导入。

将您的__init__.py更改为:from pokeapi.pokemon import *from . pokemon import *,然后将其用作pokeapi.<Pokemon module function>

答案 1 :(得分:0)

我通过浏览 init .py文件并将其更改为:

<templates id="template" xml:space="preserve">
    <t t-name="showData">
        <div>template</div>
        <button>send</button>
    </t>
</templates>

在其他任何地方,我都看到这些点是坏事,但是这次它们起作用了,所以我很困惑。嗯它起作用了,所以随便吧。