Python pip 安装后自制包导入错误
Python homemade package import error after pip install
如果我像这样制作一个非常简单的包(带有空 __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 install 到另一个本地项目并以相同的方式导入,我会收到以下错误:
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
看看这个网站https://docs.python.org/3/distutils/setupscript.html
您必须声明项目结构中的每个子文件夹
包=['an_example_pypi_project', 'tests'],
|-- an_example_pypi_project
| |-- __init__.py
| |-- useful_1.py
| |-- useful_2.py
|-- tests
|-- |-- __init__.py
|-- |-- runall.py
|-- |-- test0.py
|-- an_example_pypi_project
| |-- __init__.py
| |-- useful_1.py
|-- subfolder
| | |-- useful_2.py
|-- tests
|-- |-- __init__.py
|-- |-- runall.py
|-- |-- test0.py
包=['an_example_pypi_project'、an_example_pypi_project.subfolder、'tests']、
如果我像这样制作一个非常简单的包(带有空 __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 install 到另一个本地项目并以相同的方式导入,我会收到以下错误:
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
看看这个网站https://docs.python.org/3/distutils/setupscript.html
您必须声明项目结构中的每个子文件夹
包=['an_example_pypi_project', 'tests'],
|-- an_example_pypi_project
| |-- __init__.py
| |-- useful_1.py
| |-- useful_2.py
|-- tests
|-- |-- __init__.py
|-- |-- runall.py
|-- |-- test0.py
|-- an_example_pypi_project
| |-- __init__.py
| |-- useful_1.py
|-- subfolder
| | |-- useful_2.py
|-- tests
|-- |-- __init__.py
|-- |-- runall.py
|-- |-- test0.py
包=['an_example_pypi_project'、an_example_pypi_project.subfolder、'tests']、