If you write something, and you want to share with the world. And let others use through pip install, you can upload your package to pypi.
Create project layout
Put your code in some fold like douban. Write your own setup.py to give basic info about this lib or package. And you can put a README.md file and LICENSE file
douban-dl/
LICENSE.txt
README.md
setup.py
douban/
__init__.py
__main__.py
other_packages.py
Create setup.py to describe project
setup file often used to describe your project, you can have a template like this:
from setuptools import setup, find_packages
def readme():
with open('README.md') as f:
return f.read()
requirements = [
"bs4",
"requests"
]
setup(
name='douban-dl',
version='0.0.1',
description='',
long_description=readme(),
packages=['douban',],
url="https://github.com/einverne/douban-dl",
author="einverne",
author_email="your@email.com",
entry_points={
'console_scripts': [
'douban-dl = douban.__main__:main',
]},
keywords="douban downloader",
packages=find_packages(exclude=["tests"]),
license='MIT',
install_requires=requirements,
)
Create .pypirc file
Register your own account at https://pypi.python.org/pypi. And create following file under ~/.pypirc.
[distutils]
index-servers =
pypi
testpypi
[pypi]
username: einverne
password: password
[testpypi]
repository: https://test.pypi.org/legacy
username: einverne
password: password
Upload your first release
Use following command to create a compressed archive file which is under dist sub-directory. This file will wrap-up all project’s source code.
python setup.py sdist
And upload
python setup.py sdist [bdist_wininst] upload
this command upload archive file to pypi. bdist_wininst option alse create windows distribution.
All above had beed tested by myself -> https://pypi.python.org/pypi/douban-dl