setup.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #!usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # author: kuangdd
  4. # date: 2019/12/15
  5. """
  6. 语音处理工具箱。
  7. 生成whl格式安装包:python setup.py bdist_wheel
  8. 直接上传pypi:python setup.py sdist upload
  9. 用twine上传pypi:
  10. 生成安装包:python setup.py sdist
  11. 上传安装包:twine upload [package path]
  12. 注意:需要在home目录下建立.pypirc配置文件,文件内容格式:
  13. [distutils]
  14. index-servers=pypi
  15. [pypi]
  16. repository = https://upload.pypi.org/legacy/
  17. username: admin
  18. password: admin
  19. """
  20. from setuptools import setup, find_packages
  21. import os
  22. import logging
  23. logging.basicConfig(level=logging.INFO)
  24. logger = logging.getLogger(os.path.splitext(os.path.basename(__name__))[0])
  25. install_requires = ['librosa', 'pydub', 'scipy', 'numpy', 'dotmap']
  26. requires = ['tensorflow<=1.15.2', 'pyaudio', 'webrtcvad', 'lws', 'sounddevice', 'pyworld']
  27. def create_readme():
  28. from aukit import readme_docs
  29. docs = []
  30. with open("README.md", "wt", encoding="utf8") as fout:
  31. for doc in readme_docs:
  32. fout.write(doc.replace("\n", "\n\n"))
  33. docs.append(doc)
  34. return "".join(docs)
  35. def pip_install():
  36. for pkg in install_requires + requires:
  37. try:
  38. os.system("pip install {}".format(pkg))
  39. except Exception as e:
  40. logger.info("pip install {} failed".format(pkg))
  41. pip_install()
  42. aukit_doc = create_readme()
  43. from aukit import __version__ as aukit_version
  44. setup(
  45. name="aukit",
  46. version=aukit_version,
  47. author="kuangdd",
  48. author_email="kuangdd@foxmail.com",
  49. description="audio toolkit",
  50. long_description=aukit_doc,
  51. long_description_content_type="text/markdown",
  52. url="https://github.com/KuangDD/aukit",
  53. packages=find_packages(exclude=['contrib', 'docs', 'test*']),
  54. install_requires=install_requires, # 指定项目最低限度需要运行的依赖项
  55. python_requires='>=3.5', # python的依赖关系
  56. package_data={
  57. 'info': ['README.md', 'requirements.txt'],
  58. }, # 包数据,通常是与软件包实现密切相关的数据
  59. classifiers=[
  60. 'Intended Audience :: Developers',
  61. 'Topic :: Software Development :: Build Tools',
  62. 'License :: OSI Approved :: MIT License',
  63. 'Programming Language :: Python :: 3.5',
  64. 'Programming Language :: Python :: 3.6',
  65. 'Programming Language :: Python :: 3.7',
  66. "Operating System :: OS Independent",
  67. ],
  68. entry_points={
  69. 'console_scripts': [
  70. 'auplay = aukit.audio_cli:play_audio_cli',
  71. 'aunoise = aukit.audio_cli:remove_noise_cli',
  72. 'auformat = aukit.audio_cli:convert_format_cli'
  73. ]
  74. }
  75. )
  76. if __name__ == "__main__":
  77. print(__file__)