pip-ins后Python自制包导入错误

2021-06-13 14:26:45 发布

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

如果我制作一个非常简单的包(带有空的__init__.py文件):

package_name/
    package_name/
         sub_module/
              __init__.py
              file.py  
         __init__.py
    setup.py

当我在这个项目的根目录下启动Python shell并执行以下操作时:

import package_name.sub_module.file

一切顺利,我可以使用file.py中的函数。但是,如果我在GitLab上发送此项目,并且pip将其安装到另一个本地项目中并以相同的方式导入,则会出现以下错误:

ModuleNotFoundError: No module named 'package_name.sub_module'

我试图用多种方法修改__init__.py文件,但找不到有效的方法。我不明白为什么会这样。你知道吗

编辑:这里是setup.py文件的内容:

from setuptools import setup

setup(name='package_name',
      version='0.1',
      description='My package',
      url='https://gitlab.myserver.com/package_name',
      author='Me',
      author_email='me@myserver.com',
      license='MIT',
      packages=['package_name'],
      install_requires=[
          'another_package_1',
          'another_package_2'
      ],
      zip_safe=False)

要使用pip安装软件包,我使用以下命令:

pip install git+https://gitlab.myserver.com/package_name.git