包中的模块导入,python - setuptools

mzmfm0qo  于 12个月前  发布在  Python
关注(0)|答案(1)|浏览(118)

所以我的文件系统看起来像这样

/projects
--setup.py
--setup.cfg
--/app
--/--__init__.py
--/--app.py
--/--file_with_class.py

字符串
在我的app.py我导入file_with_class.py,但当我使用安装程序安装我的模块与pip install .并尝试运行它,我得到这个错误:

ModuleNotFoundError: No module named 'className'


假设file_with_class.py包含一个名为className的类,如下所示:

class className():
  def __init__():
    pass


我在app.py中导入这个类如下:

from file_with_class import className


此外,当执行app.py本身它的工作完美,问题来时,创建包与setuptools和安装后,我自己的包,试图运行它。

pgky5nke

pgky5nke1#

我遇到了一个类似的问题,它与相对路径有关。

from file_with_class import className`

字符串
这将查找名为file_with_class的已安装软件包,而不是文件file_with_class.py
要使用相对路径,请在文件名前添加.,如下所示:

from .file_with_class import className


这应该指向您的文件,而不是已安装的软件包。

相关问题