Python3找不到由pip3安装的模块,即使它是deffintley安装的

2024-05-14 01:03:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件夹结构

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来测试它,它显示了模块

然而,在{}中,我有一行:

from BDDexample.ExampleSystem import ExampleSystem

我得到了一个错误:

ModuleNotFoundError: No module named 'BDDexample'

当我尝试运行此文件时

为什么会这样!它已经安装好了,为什么找不到呢。我知道有很多python导入问题,但看起来我做的一切都是对的


Tags: 模块install文件frompyimport文件夹packages
2条回答

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

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

相关问题 更多 >