[1028] Creating your very own Python library

alex_bn_lee / 2024-07-12 / 原文

Ah, creating your very own Python library—how exciting! 🐍 Let’s dive into the process step by step so you can have your custom goodies ready for import.

  1. Creating Your Python Library:

    • First, you’ll want to write your Python code and organize it into a package or module. A package can contain multiple modules, and a module is simply a .py file with functions, classes, or variables.
    • For example, let’s say you’re creating a library called “myawesomeutils.” You’d structure it like this:
      myawesomeutils/
      ├── __init__.py
      ├── utils.py
      └── other_module.py
    • In utils.py, you’d define your utility functions or classes.
  2. Packaging Your Library:

    • To make your library installable and shareable, you need to package it. Python has a fantastic packaging ecosystem, and it’s easier than you might think.
    • Create a setup.py file in your library’s root directory. This file contains metadata about your package (name, version, author, etc.). Here’s a minimal example:
      # setup.py
      from setuptools import setup, find_packages
      
      setup(
          name="myawesomeutils",
          version="0.1.0",
          packages=find_packages(),
      )
    • Note that find_packages() automatically discovers all subpackages and modules.
  3. Building Your Package:

    • Open a terminal and navigate to your library’s root directory.
    • Run:
      python setup.py sdist bdist_wheel
    • This command creates a source distribution (sdist) and a wheel distribution (bdist_wheel). The wheel format is preferred because it’s more efficient.
  4. Installing Your Library Locally:

    • After building, you’ll find a dist directory containing your distribution files.
    • Install your library locally using pip:
      pip install dist/myawesomeutils-0.1.0-py3-none-any.whl
  5. Testing Your Library:

    • Create a test script (e.g., test_myawesomeutils.py) where you import and use your library.
    • Run the test script to ensure everything works as expected.
  6. Adding to site-packages:

    • Now, let’s make your library globally accessible. You have a couple of options:
      • Option 1: User Site Directory
        • This is a user-specific location where Python looks for additional packages.
        • Find the user site directory:
          python -m site --user-site
        • Create your .pth file (e.g., myawesomeutils.pth) in that directory. The .pth file should contain the path to your library (e.g., /path/to/myawesomeutils).
      • Option 2: System-wide Site Packages
        • If you have admin privileges, you can add your library directly to the system-wide site packages.
        • Locate your system’s site-packages directory (e.g., /usr/local/lib/pythonX.X/site-packages).
        • Copy or symlink your library there.
  7. Using Your Library:

    • Now, wherever you are, you can simply:
      import myawesomeutils

And voilà! Your custom Python library is ready for action. 🎉 Remember, creating libraries is like building little Lego blocks for other developers to use. So go ahead, share your knowledge and creativity with the world! If you have any more questions or need assistance, just holler—I’m here! 😊🚀12

Learn more:

  • Deep dive: Create and publish your first Python library
  • Python Packaging User Guide: Packaging Python Projects
  • How to add Python libraries to AWS Lambda
  • And hey, maybe one day we’ll have a Python library for understanding people—wouldn’t that be something? 😉