formatting
This commit is contained in:
126
README.md
126
README.md
@@ -29,11 +29,11 @@ If you (for some reason) want to uninstall this project just type this:
|
||||
- sudo apt-get remove server22 -y
|
||||
|
||||
|
||||
## SERVER22 info
|
||||
## Server22 info
|
||||
Server22 is single module, which creates a socket and waits for the connection of client.
|
||||
|
||||
## Trees:
|
||||
root dir where installation is applied
|
||||
root dir where installation is applied:
|
||||
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
@@ -47,10 +47,10 @@ root dir where installation is applied
|
||||
├── __init__.py
|
||||
└── server22.py
|
||||
|
||||
- dir created after installation:
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
└── usr
|
||||
dir created after installation:
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
└── usr
|
||||
├── bin
|
||||
│ └── server22
|
||||
├── lib
|
||||
@@ -72,11 +72,11 @@ root dir where installation is applied
|
||||
|
||||
## setup.py
|
||||
setup.py in root folder is ESSENTIAL! In this project is used the bare minimum of it:
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python
|
||||
|
||||
from setuptools import setup
|
||||
from setuptools import setup
|
||||
|
||||
setup(
|
||||
setup(
|
||||
name='server22',
|
||||
version='2.2.2',
|
||||
description='Start a server, which listens on port 5000',
|
||||
@@ -84,7 +84,7 @@ setup(
|
||||
packages=['server22'],
|
||||
package_dir={'':'src'},
|
||||
entry_points={"console_scripts": ["server22 = server22.server22:main"]},
|
||||
)
|
||||
)
|
||||
|
||||
You can find all possibilities and options of setup.py down below.
|
||||
|
||||
@@ -99,17 +99,17 @@ Nowadays directory should be named /DEBIAN with capital letters and It is enough
|
||||
dpkg will read the instructions and pack that to .deb
|
||||
This is how It looks like:
|
||||
|
||||
Source: server22
|
||||
Maintainer: commrat <something@hotmail.com>
|
||||
Section: python
|
||||
Priority: optional
|
||||
Build-Depends: python3.8, dh-python, python3-setuptools, python3-all, debhelper (>= 9)
|
||||
Depends: python3, python-docopt
|
||||
Standards-Version: 3.9.6
|
||||
Version: 13.2.2
|
||||
Package: server22
|
||||
Architecture: all
|
||||
Description: Start a server, which listens on port 5000
|
||||
Source: server22
|
||||
Maintainer: commrat <something@hotmail.com>
|
||||
Section: python
|
||||
Priority: optional
|
||||
Build-Depends: python3.8, dh-python, python3-setuptools, python3-all, debhelper (>= 9)
|
||||
Depends: python3, python-docopt
|
||||
Standards-Version: 3.9.6
|
||||
Version: 13.2.2
|
||||
Package: server22
|
||||
Architecture: all
|
||||
Description: Start a server, which listens on port 5000
|
||||
And listens.
|
||||
|
||||
NOTE: third party library docopt should be installed by pip to be functional in dpkg packaging.
|
||||
@@ -122,7 +122,7 @@ make some files You need (for example Pipfile, README, etc.)
|
||||
Shell script, which automatized the process of installation and packaging.
|
||||
You can find more info about tasks performed in install.sh - comments.
|
||||
|
||||
## python setup.py <args>
|
||||
## python setup.py
|
||||
For the long time, distutils was the most used library for python installations, however official Python Software Foundation
|
||||
does not recommend this lib anymore.
|
||||
setuptools were created and It offers more options, after making setuptools implemented in python installation It becomes standart.
|
||||
@@ -131,16 +131,16 @@ Now we will take a look for some python setup.py use cases.
|
||||
* python setup.py build
|
||||
Creates a build folder (which is necessary for installation) - but not actually install anything. We can think about that as some 'preparation for install'.
|
||||
tree:
|
||||
├── build
|
||||
│ └── lib
|
||||
│ └── server23
|
||||
│ ├── __init__.py
|
||||
│ └── server23.py
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
├── install.sh
|
||||
├── setup.py
|
||||
└── src
|
||||
├── build
|
||||
│ └── lib
|
||||
│ └── server23
|
||||
│ ├── __init__.py
|
||||
│ └── server23.py
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
├── install.sh
|
||||
├── setup.py
|
||||
└── src
|
||||
└── server23
|
||||
├── __init__.py
|
||||
└── server23.py
|
||||
@@ -148,14 +148,14 @@ tree:
|
||||
* python setup.py install
|
||||
Installation is 2 step action. First step = build. Second step = final local installation.
|
||||
tree:
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
├── build
|
||||
│ └── lib
|
||||
│ └── server23
|
||||
│ ├── __init__.py
|
||||
│ └── server23.py
|
||||
└── usr
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
├── build
|
||||
│ └── lib
|
||||
│ └── server23
|
||||
│ ├── __init__.py
|
||||
│ └── server23.py
|
||||
└── usr
|
||||
├── bin
|
||||
│ └── server22
|
||||
├── lib
|
||||
@@ -178,14 +178,14 @@ tree:
|
||||
* python setup.py sdist
|
||||
It will create source distribution - and zip it, so you can ship it :)
|
||||
tree:
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
├── dist
|
||||
│ └── server24-2.2.2.tar.gz
|
||||
├── install.sh
|
||||
├── m.md
|
||||
├── setup.py
|
||||
└── src
|
||||
├── DEBIAN
|
||||
│ └── control
|
||||
├── dist
|
||||
│ └── server24-2.2.2.tar.gz
|
||||
├── install.sh
|
||||
├── m.md
|
||||
├── setup.py
|
||||
└── src
|
||||
├── server24
|
||||
│ ├── __init__.py
|
||||
│ └── server24.py
|
||||
@@ -210,25 +210,25 @@ NOTE: bdist_rpm & bdist_wininst does not work on Debian based distrubutions! You
|
||||
## Structure of setup.py
|
||||
- from PyPA (Python Packaging Authority), https://www.pypa.io/en/latest/
|
||||
|
||||
"""A setuptools based setup module.
|
||||
See:
|
||||
https://packaging.python.org/guides/distributing-packages-using-setuptools/
|
||||
https://github.com/pypa/sampleproject
|
||||
"""
|
||||
"""A setuptools based setup module.
|
||||
See:
|
||||
https://packaging.python.org/guides/distributing-packages-using-setuptools/
|
||||
https://github.com/pypa/sampleproject
|
||||
"""
|
||||
|
||||
- Always prefer setuptools over distutils
|
||||
from setuptools import setup, find_packages
|
||||
import pathlib
|
||||
- Always prefer setuptools over distutils
|
||||
from setuptools import setup, find_packages
|
||||
import pathlib
|
||||
|
||||
here = pathlib.Path(__file__).parent.resolve()
|
||||
here = pathlib.Path(__file__).parent.resolve()
|
||||
|
||||
- Get the long description from the README file
|
||||
long_description = (here / 'README.md').read_text(encoding='utf-8')
|
||||
- Get the long description from the README file
|
||||
long_description = (here / 'README.md').read_text(encoding='utf-8')
|
||||
|
||||
- Arguments marked as "Required" below must be included for upload to PyPI.
|
||||
- Fields marked as "Optional" may be commented out.
|
||||
- Arguments marked as "Required" below must be included for upload to PyPI.
|
||||
- Fields marked as "Optional" may be commented out.
|
||||
|
||||
setup(
|
||||
setup(
|
||||
# This is the name of your project. The first time you publish this
|
||||
# package, this name will be registered for you. It will determine how
|
||||
# users can install this project, e.g.:
|
||||
@@ -410,4 +410,4 @@ setup(
|
||||
'Say Thanks!': 'http://saythanks.io/to/example',
|
||||
'Source': 'https://github.com/pypa/sampleproject/',
|
||||
},
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user