即使安装了deffintley,Python3也找不到由pip3安装的模块

时间:2020-10-19 14:38:05

标签: python pip python-import

我有一个文件夹结构

root
|-setup.py
|-src
| |-BDDexample
|   |-ExampleSystem.py (contains a class called ExampleSystem)
|   |-__init__.py (empty file)
|
|-tests
  |-cucumber
    |-features
      |-steps
        |-EnableSystemStepImpl.py

我的setup.py文件是:

#!/usr/local/bin/python3.6
from setuptools import setup, find_packages

setup(
    name="BDDexample",
    version="0.2",
    packages=find_packages()
)

然后我使用pip3 install .安装了它。我还尝试过python3 setup.py bdist_wheel,然后尝试pip3 install dist/BDDexample-0.2-py3-none-any.whl

它找到了模块BDDexample,我可以通过键入pip3 list来测试它,该示例显示了该模块。

但是,在EnableSystemStepImpl.py中,有以下一行:

from BDDexample.ExampleSystem import ExampleSystem

我得到了错误:

ModuleNotFoundError: No module named 'BDDexample'

当我尝试运行此文件时。

为什么会这样呢!它已安装,所以为什么找不到它。我知道有很多python导入问题,但似乎我做得对。

2 个答案:

答案 0 :(得分:0)

没有从ExampleSystem中提取文件BDDexample.ExampleSystem,因为它可能不在PC的直接可访问路径中。请检查它是否在您的C盘等中。

答案 1 :(得分:0)

我找到了答案,这是因为我不应该拥有src文件夹。我已将目录结构更改为:

root
|-setup.py
|-BDDexample
| |-ExampleSystem.py (contains a class called ExampleSystem)
| |-__init__.py (empty file)
|
|-tests
  |-cucumber
    |-features
      |-steps
        |-EnableSystemStepImpl.py

现在可以使用了。

我假设find_packages找不到BDDexample模块,因为它位于另一个文件夹中。