asr_env_checking.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # Copyright (c) Alibaba, Inc. and its affiliates.
  2. import os
  3. import shutil
  4. import ssl
  5. import nltk
  6. # mkdir nltk_data dir if not exist
  7. try:
  8. nltk.data.find('.')
  9. except LookupError:
  10. dir_list = nltk.data.path
  11. for dir_item in dir_list:
  12. if not os.path.exists(dir_item):
  13. os.mkdir(dir_item)
  14. if os.path.exists(dir_item):
  15. break
  16. # download one package if nltk_data not exist
  17. try:
  18. nltk.data.find('.')
  19. except: # noqa: *
  20. try:
  21. _create_unverified_https_context = ssl._create_unverified_context
  22. except AttributeError:
  23. pass
  24. else:
  25. ssl._create_default_https_context = _create_unverified_https_context
  26. nltk.download('cmudict', halt_on_error=False, raise_on_error=True)
  27. # deploy taggers/averaged_perceptron_tagger
  28. try:
  29. nltk.data.find('taggers/averaged_perceptron_tagger')
  30. except: # noqa: *
  31. data_dir = nltk.data.find('.')
  32. target_dir = os.path.join(data_dir, 'taggers')
  33. if not os.path.exists(target_dir):
  34. os.mkdir(target_dir)
  35. src_file = os.path.join(os.path.dirname(__file__), '..', 'nltk_packages',
  36. 'averaged_perceptron_tagger.zip')
  37. shutil.copyfile(src_file,
  38. os.path.join(target_dir, 'averaged_perceptron_tagger.zip'))
  39. shutil._unpack_zipfile(
  40. os.path.join(target_dir, 'averaged_perceptron_tagger.zip'), target_dir)
  41. # deploy corpora/cmudict
  42. try:
  43. nltk.data.find('corpora/cmudict')
  44. except: # noqa: *
  45. data_dir = nltk.data.find('.')
  46. target_dir = os.path.join(data_dir, 'corpora')
  47. if not os.path.exists(target_dir):
  48. os.mkdir(target_dir)
  49. src_file = os.path.join(os.path.dirname(__file__), '..', 'nltk_packages',
  50. 'cmudict.zip')
  51. shutil.copyfile(src_file, os.path.join(target_dir, 'cmudict.zip'))
  52. shutil._unpack_zipfile(os.path.join(target_dir, 'cmudict.zip'), target_dir)
  53. try:
  54. nltk.data.find('taggers/averaged_perceptron_tagger')
  55. except: # noqa: *
  56. try:
  57. _create_unverified_https_context = ssl._create_unverified_context
  58. except AttributeError:
  59. pass
  60. else:
  61. ssl._create_default_https_context = _create_unverified_https_context
  62. nltk.download('averaged_perceptron_tagger',
  63. halt_on_error=False,
  64. raise_on_error=True)
  65. try:
  66. nltk.data.find('corpora/cmudict')
  67. except: # noqa: *
  68. try:
  69. _create_unverified_https_context = ssl._create_unverified_context
  70. except AttributeError:
  71. pass
  72. else:
  73. ssl._create_default_https_context = _create_unverified_https_context
  74. nltk.download('cmudict', halt_on_error=False, raise_on_error=True)