Python3找不到pip3安装的模块,即使它已安装



我有一个文件夹结构

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

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

然而,在EnableSystemStepImpl.py中,我有一行:

from BDDexample.ExampleSystem import ExampleSystem

我得到了错误:

ModuleNotFoundError: No module named 'BDDexample'

当我尝试运行此文件时。

为什么会发生这种事!它已经安装好了,为什么找不到它。我知道有很多python导入问题,但似乎我做得很好。

我找到了答案,因为我不应该拥有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模块,因为它在另一个文件夹中。

文件BDDexample.ExampleSystem未从ExampleSystem中提取,因为它可能不在pc可直接访问的路径中。请检查它是否在你的c驱动器等…

最新更新