我开发了一个python包,我想在另一个项目中使用它。 包结构如下所示:
- foo
- setup.py
- README.md
- foo
- __init__.py
- main.py
- bar.py
- sub_pkg1
- __init__.py
- example.py
- sub_pkg2
- __init__.py
- example2.py
bar.py
文件包含Bar
-类,它依赖于sub_pkg1
和{
__init__.py
文件只导入其目录中的每个python文件。
例如,sub_pkg1
的__init__.py
:
from example import ExampleClass
main.py
文件只是导入Bar类并执行它的一些方法。在
from bar import Bar
bar = Bar()
bar.foo()
setup.py
文件如下所示:
from setuptools import setup, find_packages
setup(
name='Bar',
version='0.0.7',
author='me',
packages=find_packages()
)
当我直接从包中运行main.py
文件时,它就像一个咒语。
但是,当我使用pip在另一个项目中安装它时,使用以下命令:
(我还不想将包发布到PyPi,只想在我的其他项目中包含开发版本)
pip install -e /path/to/package
我正在尝试导入错误:
ModuleNotFoundError: No module named 'example'
我需要以某种方式导出sub_包吗?在
我使用python3.6
使用
from sub_pkg1 import ExampleClass
代替from sub_pkg1 import example.py
你已经从cd4{2}直接导入到你的cd4{2}项目中。在
阅读更多关于
__init__.py
和模块的信息:https://docs.python.org/3/tutorial/modules.html相关问题 更多 >
编程相关推荐