अपना पैकेज इंस्टॉल करना

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    <-- उसी डायरेक्टरी में
Python पैकेज विकसित करना

क्यों अपना पैकेज इंस्टॉल करें?

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     <---
Python पैकेज विकसित करना

setup.py

  • पैकेज इंस्टॉल करने के काम आता है
  • पैकेज की मेटाडेटा रखता है
Python पैकेज विकसित करना

पैकेज डायरेक्टरी स्ट्रक्चर

सबपैकेज वाले पैकेज की डायरेक्टरी ट्री


    mysklearn/
    |-- __init__.py
    |-- preprocessing
    |   |-- __init__.py
    |   |-- normalize.py
    |   |-- standardize.py
    |-- regression
    |   |-- __init__.py
    |   |-- regression.py
    |-- utils.py

Python पैकेज विकसित करना

पैकेज डायरेक्टरी स्ट्रक्चर

सबपैकेज वाले पैकेज की डायरेक्टरी ट्री

mysklearn/      <-- बाहरी डायरेक्टरी
|-- mysklearn   <--- अंदरूनी सोर्स कोड डायरेक्टरी
    |-- __init__.py
    |-- preprocessing
    |   |-- __init__.py
    |   |-- normalize.py
    |   |-- standardize.py
    |-- regression
    |   |-- __init__.py
    |   |-- regression.py
    |-- utils.py

Python पैकेज विकसित करना

पैकेज डायरेक्टरी स्ट्रक्चर

सबपैकेज वाले पैकेज की डायरेक्टरी ट्री

mysklearn/      <-- बाहरी डायरेक्टरी
|-- mysklearn   <--- अंदरूनी सोर्स कोड डायरेक्टरी
|   |-- __init__.py
|   |-- preprocessing
|   |   |-- __init__.py
|   |   |-- normalize.py
|   |   |-- standardize.py
|   |-- regression
|   |   |-- __init__.py
|   |   |-- regression.py
|   |-- utils.py
|-- setup.py   <-- बाहरी में setup स्क्रिप्ट
Python पैकेज विकसित करना

`setup.py` के अंदर

# Import required functions
from setuptools import setup


# Call setup function setup(
author="James Fulton",
description="A complete package for linear regression.",
name="mysklearn",
version="0.1.0",
)

version number = (major number) . (minor number) . (patch number)

Python पैकेज विकसित करना

`setup.py` के अंदर

# Import required functions
from setuptools import setup, find_packages

# Call setup function
setup(
    author="James Fulton",
    description="A complete package for linear regression.",
    name="mysklearn",
    version="0.1.0",

packages=find_packages(include=["mysklearn", "mysklearn.*"]),
)
Python पैकेज विकसित करना

Editable इंस्टॉलेशन

pip install -e .
  • . = current डायरेक्टरी का पैकेज
  • -e = editable

सबपैकेज वाले पैकेज की डायरेक्टरी ट्री

mysklearn/  <-- यहाँ जाएँ
|-- mysklearn
|   |-- __init__.py
|   |-- preprocessing
|   |   |-- __init__.py
|   |   |-- normalize.py
|   |   |-- standardize.py
|   |-- regression
|   |   |-- __init__.py
|   |   |-- regression.py
|   |-- utils.py
|-- setup.py
Python पैकेज विकसित करना

अभ्यास करते हैं!

Python पैकेज विकसित करना

Preparing Video For Download...