Розроблення пакетів Python
James Fulton
Climate informatics researcher
У файлі example_script.py
import mysklearn
Дерево теки для пакета з підпакетами
home/
|-- mysklearn <-- у тій самій теці
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| | |-- __init__.py
| | |-- regression.py
| `-- utils.py
|-- example_script.py <-- у тій самій теці
У файлі example_script.py
import mysklearn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'mysklearn'
Дерево теки
home/
|-- mypackages
| |-- mysklearn <---
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| |-- __init__.py
| |-- regression.py
`-- myscripts
`-- example_script.py <---
Дерево теки для пакета з підпакетами
mysklearn/
|-- __init__.py
|-- preprocessing
| |-- __init__.py
| |-- normalize.py
| |-- standardize.py
|-- regression
| |-- __init__.py
| |-- regression.py
|-- utils.py
Дерево теки для пакета з підпакетами
mysklearn/ <-- зовнішня тека
|-- mysklearn <--- внутрішня тека з кодом
|-- __init__.py
|-- preprocessing
| |-- __init__.py
| |-- normalize.py
| |-- standardize.py
|-- regression
| |-- __init__.py
| |-- regression.py
|-- utils.py
Дерево теки для пакета з підпакетами
mysklearn/ <-- зовнішня тека
|-- mysklearn <--- внутрішня тека з кодом
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| | |-- __init__.py
| | |-- regression.py
| |-- utils.py
|-- setup.py <-- скрипт налаштування у зовнішній теці
# Імпортуйте потрібні функції from setuptools import setup# Викличте функцію setup setup(author="James Fulton",description="Повний пакет для лінійної регресії.",name="mysklearn",version="0.1.0",)
номер версії = (мажорна) . (мінорна) . (патч)
# Імпортуйте потрібні функції from setuptools import setup, find_packages # Викличте функцію setup setup( author="James Fulton", description="Повний пакет для лінійної регресії.", name="mysklearn", version="0.1.0",packages=find_packages(include=["mysklearn", "mysklearn.*"]),)
pip install -e .
. = пакет у поточній теці-e = редагований режимДерево теки для пакета з підпакетами
mysklearn/ <-- перейдіть сюди
|-- mysklearn
| |-- __init__.py
| |-- preprocessing
| | |-- __init__.py
| | |-- normalize.py
| | |-- standardize.py
| |-- regression
| | |-- __init__.py
| | |-- regression.py
| |-- utils.py
|-- setup.py
Розроблення пакетів Python