Until you can install your own Python library with pip

About Python package management

Here's the easiest way to download a Python package with pip. There are several types, but I used setuptools.

procedure

1. Get a sample project

Get a sample project from this site. https://github.com/pypa/sampleproject

2. Creating a distribution package

In the sample project folder $ python setup.py sdist Run

3. Delete unnecessary files

I deleted this folder ・ Sample ・ Data ・ LICENSE.txt ・ Xxxxxx-egg I feel like I deleted these files ...

4. Edit setup.py

name = the name of the project version = version name description = description long_description = README.rst is now referenced url = URL of the site where the package is stored github etc. author = author author_email = author's email address license = applicable license packages = name of the package to be distributed (library name)

5. Save the required files

Place the necessary libraries and sample programs under the current. Put the package to be distributed in a folder with the same name as the package name.

6. Try installing locally

$ python setup.py install When you do this Project name.egg-info  build dist Etc. were generated.

OK if the sample program works without problems

7. We will distribute it.

When you do it for the first time

$ python setup.py register

After the second time

Change the version information in setup.py and run the following command $ python setup.py sdist upload

tips If you see a message like this, you haven't registered with the pypi. Upload failed (401): You must be identified to edit package information

At that time, let's register $ python setup.py register

8. Operation check

Delete the locally installed package and check the operation.

$ sudo pip uninstall Package name Move to a folder where the project is not saved $ sudo pip install package name

After this, if you try running the sample program and it works without problems, it means that the package has been installed correctly.

Finally

1. GITHUB folder

https://github.com/LAPIS-Lazurite/PyLaz

2. Distributed files

.
├── MANIFEST.in
├── PyLaz
│   ├── PyLaz.py
│   ├── PyLaz.pyc
│   ├── __init__.py
│   ├── __init__.pyc
│   └── __pycache__
│       ├── PyLaz.cpython-34.pyc
│       └── __init__.cpython-34.pyc
├── PyLaz.egg-info
│   ├── PKG-INFO
│   ├── SOURCES.txt
│   ├── dependency_links.txt
│   └── top_level.txt
├── README.rst
├── build
│   ├── bdist.linux-armv7l
│   ├── docs
│   └── lib.linux-armv7l-2.7
│       └── PyLaz
│           ├── PyLaz.py
│           └── __init__.py
├── dist
│   ├── PyLaz-0.0.1-py2.7.egg
│   └── PyLaz-0.0.1.tar.gz
├── samples
│   ├── rxsample.py
│   └── txsample.py
├── setup.cfg
├── setup.py
├── tests
│   ├── __init__.py
│   └── test_simple.py
└── tox.ini

3. Contents of setup.py

"""A setuptools based setup module.

See:
https://packaging.python.org/en/latest/distributing.html
https://github.com/pypa/sampleproject
"""

# Always prefer setuptools over distutils
from setuptools import setup, find_packages
# To use a consistent encoding
from codecs import open
from os import path

here = path.abspath(path.dirname(__file__))

# Get the long description from the README file
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
    long_description = f.read()

setup(
    name='PyLaz',

    # Versions should comply with PEP440.  For a discussion on single-sourcing
    # the version across setup.py and the project code, see
    # https://packaging.python.org/en/latest/single_source_version.html
    version='0.0.2',

    description='Python Library for Lazurite',
    long_description=long_description,

    # The project's main homepage.
    url='https://github.com/LAPIS-Lazurite/PyLaz',

    # Author details
    author='lapis semiconductor',
    author_email='[email protected]',

    # Choose your license
    license='MIT',

    # See https://pypi.python.org/pypi?%3Aaction=list_classifiers
    classifiers=[
        # How mature is this project? Common values are
        #   3 - Alpha
        #   4 - Beta
        #   5 - Production/Stable
        'Development Status :: 4 - Beta',

        # Indicate who your project is intended for
        'Intended Audience :: Developers',
        'Topic :: Software Development :: Build Tools',

        # Pick your license as you wish (should match "license" above)
        'License :: OSI Approved :: MIT License',

        # Specify the Python versions you support here. In particular, ensure
        # that you indicate whether you support Python 2, Python 3 or both.
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.6',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
    ],

    # What does your project relate to?
    keywords='Python library for Lazurite',

    # You can just specify the packages manually here if your project is
    # simple. Or you can use find_packages().
    #packages=find_packages(exclude=['contrib', 'docs', 'tests']),
    packages=['PyLaz'],

    # Alternatively, if you want to distribute just a my_module.py, uncomment
    # this:
    #   py_modules=["my_module"],

    # List run-time dependencies here.  These will be installed by pip when
    # your project is installed. For an analysis of "install_requires" vs pip's
    # requirements files see:
    # https://packaging.python.org/en/latest/requirements.html
    #install_requires=['peppercorn'],

    # List additional groups of dependencies here (e.g. development
    # dependencies). You can install these using the following syntax,
    # for example:
    # $ pip install -e .[dev,test]
    #extras_require={
        #'dev': ['check-manifest'],
        #'test': ['coverage'],
    #},

    # If there are data files included in your packages that need to be
    # installed, specify them here.  If using Python 2.6 or less, then these
    # have to be included in MANIFEST.in as well.
    #package_data={
        #'sample': ['package_data.dat'],
    #},

    # Although 'package_data' is the preferred approach, in some case you may
    # need to place data files outside of your packages. See:
    # http://docs.python.org/3.4/distutils/setupscript.html#installing-additional-files # noqa
    # In this case, 'data_file' will be installed into '<sys.prefix>/my_data'
    #data_files=[('my_data', ['data/data_file'])],

    # To provide executable scripts, use entry points in preference to the
    # "scripts" keyword. Entry points provide cross-platform support and allow
    # pip to create the appropriate form of executable for the target platform.
    #entry_points={
        #'console_scripts': [
            #'sample=sample:main',
        #],
    #},
)

Recommended Posts

Until you can install your own Python library with pip
Until you install your own Python library
Steps to install your own library with pip
Publish your own Python library with Homebrew
Until you can use opencv with python
Let's call your own C ++ library with Python (Preferences)
Until you install TensorFlow-GPU with pip in Windows environment
Install Python 2.7.9 and Python 3.4.x with pip.
Run the intellisense of your own python library with VScode.
What you can do with the Python standard library statistics
Until you self-host your own interpreter
Until you can install blender and run it with python for the time being
Until you run python with apache
Python | What you can do with Python
[Python Windows] pip install with Python version
What to do if you can't install pyaudio with pip #Python
[Reinforcement learning] DQN with your own library
[Python] Register your own library on PyPI
scipy stumbles with pip install on python 2.7.8
Can you challenge Kaggle with just your iPad?
You can easily create a GUI with Python
Make your own module quickly with setuptools (python)
Until you use PhantomJS with Python on Heroku
Until you install Python with pythonbrew and run Flask on a WSGI server
Error with pip install
Install python external library
Install Voluptuous with Python 2.5
Until you install MySQL-python
Install python with pyenv
Install scikit.learn with pip
Flow of creating your own package with setup.py with python
Memo to create your own Box with Pepper's Python
Call your own C library with Go using cgo
Until you can do simple image recognition with Jupyter
Until you annotate your own dataset and detect an object with EfficientDet ~ Character face detection ~
Install Python environment with Anaconda
Can't find the package you installed with pip install --user?
Windows10: Install python dlib library
Try sorting your own objects with priority queue in Python
When moss with pip install
Install python3 and scientific calculation library on Ubuntu (virtualenv + pip)
Create a Python (Django) learning environment with Docker so that you can debug with VS Code (almost your own procedure memo)
Install external libraries with Python
Install github repository with pip
[Python] I made my own library that can be imported dynamically
If you know Python, you can make a web application with Django
Tips you should know when programming competitive programming with Python2 (useful library)
Consider what you can do with Python from the Qiita article
What to do if you get a UnicodeDecodeError with pip install
Install packages that need to be compiled with Python3 with pip [Windows]
Read this if you get SSL related errors with pip install! !! !!
Install pip in Serverless Framework and AWS Lambda with Python environment
[TensorFlow] If you want to run TensorBoard, install it with pip
Call your own C language shared library from Python using ctypes
[Python] logging in your own module
Until you start Jupyter with Docker
I can't install python3 with pyenv-vertualenv
Install Python from source with Ansible
Nice to meet you with python
Permission denied with pip install pyopenssl
Install Python on Windows + pip + virtualenv