本文共 3361 字,大约阅读时间需要 11 分钟。
PyPI(Python Package Index)是 Python 官方的包存储仓库。PyPI 推荐使用 pip(python install packages,Python 包管理工具)来下载储存在 PyPI 库中的 python 包。本文内容主要介绍如何在 PyPI 上发布自己编写的 python 包。
参考链接:
自己编写好的 python 项目存放在 /home/cropgbm_python/cropgbm/ 文件夹下,希望将 cropgbm/ 打包并上传至 PyPI 中。
首先在 /home/cropgbm_python/cropgbm/ 目录下创建 __init__.py 空文件。
在 /home/cropgbm_python/ 目录下创建 MEADME.md 文件。这里的 MEADME.md 复制于 Readmd.md,仅更改了文件名。
注意!文件名必须是 [README, README.rst, README.txt, README.md] 中一种,否则在打包时会出现警告:
warning: sdist: standard file not found: should have one of README, README.rst, README.txt, README.md
在 /home/cropgbm_python/ 目录下创建 setup.py 文件。setup.py 指定包的相关信息(如名称、版本、依赖等)以及所要包括的代码文件。
setup.py 文件的一般格式如下。
from setuptools import setup, find_packagessetup( name='cropgbm', version='1.1.1', description=( 'Crop Genomic Breeding machine (CropGBM) is a multifunctional program that integrates data preprocessing, population structure analysis, SNP selection, phenotype prediction, and data visualization.' ), long_description=open('README.md').read(), author='Yuetong Xu, Jun Yan', author_email='yuetong_xu@163.com', maintainer='Yuetong Xu', maintainer_email='yuetong_xu@163.com', license='MIT License', url='https://github.com/YuetongXU/CropGBM', packages=find_packages(), entry_points={ 'console_scripts': [ 'cropgbm = cropgbm.main:main', ] }, package_data={ 'cropgbm': ['testdata/*'] }, classifiers=[ 'Operating System :: OS Independent', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python :: 3' ], python_requires='>=3', install_requires=[ 'wheel', 'numpy', 'scipy', 'pandas', 'scikit-learn>=0.24', 'lightgbm', 'matplotlib', 'seaborn' ])
若想添加更多信息,参见
MEADME.md 和 setup.py 文件创建好后,如图:
在 /home/cropgbm_python/ 目录下运行 setup.py 文件,进行打包
$ python setup.py sdist
打包完成后新生成 dist 和 cropgbm.egg-info 两个文件夹,其中 dist 文件夹下储存了压缩好的、可以上传至 PyPI 的 python 包。
为了保证 python 包可以被其他用户正确安装,可以使用 python setup.py install 命令在本地安装 python 包。
$ python setup.py install
install 包括两步:python setup.py build, python setup.py install
这两步可分开执行, 也可只执行 install, 因为 install 总是会先 build 后 install.
install 完成后会在 /usr/local/lib/python3.6/dist-packages/ 路径下生成文件 cropgbm-1.1.1-py3.6.egg,在 /usr/local/bin/ 路径下生成文件 cropgbm 。
install 完成后可以在本地命令行通过调用 cropgbm 来运行 cropgbm 包:
$ cropgbm -h
参考链接
在 PyPI()上注册账户。
安装上传所需的包 twine
$ pip install --user --upgrade twine
利用 twine 将 cropgbm-1.1.tar.gz 上传至 PyPI,期间会让你输入注册的用户名和密码
$ twine upload dist/*
上传完成后可以在 PyPI 的网站上看到 cropgbm 包的信息。
转载地址:http://akksi.baihongyu.com/