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