У меня есть структура папок для моего пакета python следующим образом:
myproject
├── package
| ├──api
| | ├── __init__.py
| | ├── main.py
| |
| ├──utils
| ├── __init__.py
| ├── helpers.py
| ├── config.yml
├── MANIFEST.in
├── setup.py
Содержимое setup.py
from setuptools import setup, find_packages
setup(name='package',
version='1.0',
packages=find_packages(),
include_package_data = True)
Содержимое MANIFEST.in
include package/utils/config.yml
Содержимое helpers.py
import yaml
def add_():
return 2+3
def config_data():
with open('project/utils/config.yml') as f:
yaml_data = yaml.safe_load(f)
return yaml_data
Теперь я хочу импортировать модуль помощников в main.py
from package.utils import helpers
import yaml
print(helpers.add_())
print(helpers.config_data())
Когда я устанавливаю этот пакет в редактируемой форме и запускаю main. py, все работает нормально
(base) C:\Users\qaise\myproject> pip install -e .
снимок вывода main.py, т.е. вывод add_, и config_data {'qaiser': 'alam'} - это содержимое config.yml
Now when everything was working fine i tried to create wheel file for this package and install created wheel using pip
(base) C:\Users\qaise\myproject> python setup.py sdist bdist_wheel
(base) C:\Users\qaise\myproject> pip install ./dist/package-1.0-py3-none-any.whl
After this , I opened my jupyter notebook and tried to call the function from the helper module I am getting error no module named package, it seemed like it is a path problem but I am not able to resolve it.
введите описание изображения здесь