рдореИрдВ рдЕрдкрдиреЗ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдбреЙрдХреНрд╕ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдлрд┐рдВрдХреНрд╕-рдСрдЯреЛрдбреЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдореВрд▓ рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рд░реАрдбрдереЗрдбреЙрдХреНрд╕ рдкрд░ рдкреВрд░реНрдг рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрд╛ рдФрд░ рдХрднреА-рдХрднреА рд╡рд┐рдлрд▓ рднреА рд╣реЛ рдЧрдпрд╛ (# 4695)ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд╢реБрджреНрдз pip
(https://github.com/JiaweiZhuang/xESMF/commit/53816d397b3c8f27b195132b27dbb41847e34e0f) рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдмрд╣реБрдд рддреЗрдЬ рдХрд░ рджрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрд╕ рд╕реНрд╡рд┐рдЪ рдХреЗ рдмрд╛рдж рд╕реЗ, Sphinx-autodoc API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рдореЗрд░рд╛ рдПрдкреАрдЖрдИ рдкреЗрдЬ рд▓рдЧрднрдЧ рдЦрд╛рд▓реА рд╣реИ:
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рд╣реА рднрд╛рд░реА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ pip
рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рд╕реА/рдлреЛрд░рдЯреНрд░рд╛рди рдПрдХреНрд╕рдЯреЗрдВрд╢рди conda
рджреНрд╡рд╛рд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рддреЛ, рдСрдЯреЛрдбреЛрдХ рдореЗрд░рд╛ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛:
WARNING: autodoc: failed to import module 'xesmf.frontend'; the following exception was raised:
No module named 'xesmf'
WARNING: autodoc: failed to import module 'xesmf.backend'; the following exception was raised:
No module named 'xesmf'
...
рдореИрдВ рджреЛ рд╣реИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рд╕рд╣реА рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ:
pip install --no-deps xesmf
рджреНрд╡рд╛рд░рд╛ рдмрд╛рдзреНрдп рдХрд░реЗрдВредautodoc_mock_imports = ['numpy', 'xarray', 'scipy', 'ESMF']
рдореЗрдВ conf.py
autodoc_mock_imports = ['numpy', 'xarray', 'scipy', 'ESMF']
рдЬреЛрдбрд╝рдХрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдирдХрд▓реА-рдЖрдпрд╛рдд рдХрд░реЗрдВред рдЙрдирдореЗрдВ рд╕реЗ, рдИрдПрд╕рдПрдордПрдл рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рднрд╛рд░реА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рдХреЛрдВрдбрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ)редрдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ autodoc_mock_imports
рднреА, рдореБрдЭреЗ рдЕрднреА рднреА рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ xesmf
рдХреЛ sphinx-autodoc рдХреЗ рд▓рд┐рдП рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк-рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдбреЙрдХреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реЗрдВ рдкрдврд╝рд╛ рд╣реИ рд▓реЗрдХрд┐рди --no-deps
рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдпрд╛ рдХрд╕реНрдЯрдо рдкрд╛рдЗрдк рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ред
рдЕрднреА, рдореИрдВ рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдСрдирд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рджреЛ рдЕрддреНрдпрдзрд┐рдХ рдЕрд╕рдВрддреЛрд╖рдЬрдирдХ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ:
setup.py
рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдмрджрд▓реЗрдВ, рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕реЗ --no-deps
рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд┐рдирд╛ рдкрд╛рдЗрдк-рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХреВрдВред рдпрд╣ рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд╣реА рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИредрддреЛ рдореИрдВ рдЕрднреА рднреА рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реВрдВред рдХрд┐рд╕реА рднреА рд╕реБрдЭрд╛рд╡ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреА!
рдпрд╣рд╛рдБ рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рд╕рд╣реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдЪрд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ:
conda create -n doc python=3.6
conda activate doc
conda install -c conda-forge pandoc
pip install numpydoc ipython nbsphinx sphinx_rtd_theme
pip install --no-deps xesmf
git clone https://github.com/JiaweiZhuang/xesmf
cd xesmf/doc
make html
рд╕рд╣реА рдПрдкреАрдЖрдИ рдкреЗрдЬ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдкрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдФрд░ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдПрдХ рд╕рдорд╛рдзрд╛рди рдЬреЛ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ READTHEDOCS
env рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ https://docs.readthedocs.io/en/stable/faq.html#how -do-i-change-behavior-for- рдЕрдкрдиреА setup.py рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝реЗрдВред
рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдЖрд╡рд╢реНрдпрдХрддрд╛ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
@stsewd рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ setup.py
рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рддрд╛рдХрд┐:
on_rtd = os.environ.get('READTHEDOCS') == 'True'
if on_rtd:
INSTALL_REQUIRES = []
else:
INSTALL_REQUIRES = ['esmpy', 'xarray', 'numpy', 'scipy']
(https://github.com/JiaweiZhuang/xESMF/commit/5ce3364bfbd3081aad848c5cf4ac54a287ca236e)
рдереЛрдбрд╝рд╛ рд╣реИрдХреА рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рджред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@stsewd рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ
setup.py
рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рддрд╛рдХрд┐:(https://github.com/JiaweiZhuang/xESMF/commit/5ce3364bfbd3081aad848c5cf4ac54a287ca236e)
рдереЛрдбрд╝рд╛ рд╣реИрдХреА рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рджред