Readthedocs.org: рд╕реНрдлрд┐рдВрдХреНрд╕ рдСрдЯреЛрдбреЙрдХ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯреЙрд▓ --рдиреЛ-рдбрд┐рдкреНрд╕` рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдорд╛рд░реНрдЪ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: readthedocs/readthedocs.org

рд╡рд┐рд╡рд░рдг

  • рдбреЙрдХреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ URL рдкрдврд╝реЗрдВ: https://readthedocs.org/projects/xesmf
  • URL рдмрдирд╛рдПрдБ (рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛ): https://readthedocs.org/projects/xesmf/builds/8484627/
  • рдбреЙрдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдкрдврд╝реЗрдВ (рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛ): zhuangjw

рд╕рдВрдХрдЯ

рдореИрдВ рдЕрдкрдиреЗ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдбреЙрдХреНрд╕ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдлрд┐рдВрдХреНрд╕-рдСрдЯреЛрдбреЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореВрд▓ рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рд░реАрдбрдереЗрдбреЙрдХреНрд╕ рдкрд░ рдкреВрд░реНрдг рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрд╛ рдФрд░ рдХрднреА-рдХрднреА рд╡рд┐рдлрд▓ рднреА рд╣реЛ рдЧрдпрд╛ (# 4695)ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд╢реБрджреНрдз pip (https://github.com/JiaweiZhuang/xESMF/commit/53816d397b3c8f27b195132b27dbb41847e34e0f) рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдмрд╣реБрдд рддреЗрдЬ рдХрд░ рджрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрд╕ рд╕реНрд╡рд┐рдЪ рдХреЗ рдмрд╛рдж рд╕реЗ, Sphinx-autodoc API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рдореЗрд░рд╛ рдПрдкреАрдЖрдИ рдкреЗрдЬ рд▓рдЧрднрдЧ рдЦрд╛рд▓реА рд╣реИ:

Screen Shot 2019-03-20 at 2 51 31 PM

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рд╣реА рднрд╛рд░реА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ 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

рд╕рд╣реА рдПрдкреАрдЖрдИ рдкреЗрдЬ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
Screen Shot 2019-03-20 at 3 23 15 PM

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@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)

рдереЛрдбрд╝рд╛ рд╣реИрдХреА рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рджред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдкрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдФрд░ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдПрдХ рд╕рдорд╛рдзрд╛рди рдЬреЛ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ 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)

рдереЛрдбрд╝рд╛ рд╣реИрдХреА рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

krzychb picture krzychb  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

goerz picture goerz  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

humitos picture humitos  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cagataycali picture cagataycali  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PowerKiKi picture PowerKiKi  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ