Hi Beat. I prefer to invoke all Python-based tools with the same executable. For example, instead of using "pip" or "pip3" (or who knows what), I use:
python3 -m pip install sphinx_rtd_theme And the same thing for "sphinx-build": python3 -m sphinx <source-dir> <build-dir> More concretely, this could be: python3 -m sphinx doc html-files If you do it this way, you always know which Python version is used. You can be even more specific and include the minor version if you want: python3.8 -m ... HTH. cheers, Matthias On Tue, May 26, 2020 at 5:44 PM Beat Gurtner <b.rent...@gmail.com> wrote: > > After switch to a new macbook (Mac OS Catalina), my sphinx scripts are not > working anymore: > > Sphinx v3.0.3 in Verwendung > > Configuration error: > There is a programmable error in your configuration file: > > Traceback (most recent call last): > File > "/usr/local/Cellar/sphinx-doc/3.0.3/libexec/lib/python3.8/site-packages/sphinx/config.py", > line 319, in eval_config_file > execfile_(filename, namespace) > File > "/usr/local/Cellar/sphinx-doc/3.0.3/libexec/lib/python3.8/site-packages/sphinx/util/pycompat.py", > line 81, in execfile_ > exec(code, _globals) > File "/Applications/MAMP/htdocs/sakkadentrainer/doc/conf.py", line 43, in > <module> > import sphinx_rtd_theme > ModuleNotFoundError: No module named 'sphinx_rtd_theme' > > I have installed the module sphinx_rtd_theme with: > > pip3 install rst2pdf > > Requirement already satisfied: rst2pdf in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (0.97) > Requirement already satisfied: jinja2 in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (from rst2pdf) > (2.11.2) > Requirement already satisfied: pygments in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (from rst2pdf) > (2.6.1) > Requirement already satisfied: pdfrw in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (from rst2pdf) > (0.4) > Requirement already satisfied: smartypants in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (from rst2pdf) > (2.0.1) > Requirement already satisfied: setuptools in > /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages > (from rst2pdf) (40.8.0) > Requirement already satisfied: docutils in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (from rst2pdf) > (0.16) > Requirement already satisfied: six in > /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages > (from rst2pdf) (1.12.0) > Requirement already satisfied: reportlab in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (from rst2pdf) > (3.5.42) > Requirement already satisfied: MarkupSafe>=0.23 in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (from > jinja2->rst2pdf) (1.1.1) > Requirement already satisfied: pillow>=4.0.0 in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (from > reportlab->rst2pdf) (7.1.2) > You are using pip version 19.0.3, however version 20.2b1 is available. > You should consider upgrading via the 'pip install --upgrade pip' command. > > pip install --upgrade pip > DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. > Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 > will drop support for Python 2.7 in January 2021. More details about Python 2 > support in pip, can be found at > https://pip.pypa.io/en/latest/development/release-process/#python-2-support > Defaulting to user installation because normal site-packages is not writeable > Requirement already up-to-date: pip in > /Library/Python/2.7/site-packages/pip-20.2b1-py2.7.egg (20.2b1) > > I think it has nothing to do with the sphinx_rtd_theme itself, because if I > comment this theme in conf.py I get the next error: > > Could not import extension rst2pdf.pdfbuilder (exception: No module named > 'rst2pdf') > > But if I comment all extensions the script works without error: > > sphinx-build -D language=de -b html > /Applications/MAMP/htdocs/sakkadentrainer/doc/ > /Applications/MAMP/htdocs/sakkadentrainer_medical_doc/de/ > Sphinx v3.0.3 in Verwendung > Lade Übersetzungen [de]…erledigt > loading pickled environment... failed > Fehlgeschlagen: 'str' object has no attribute '__dict__' > building [mo]: targets for 1 po files that are out of date > writing output... [100%] locale/de/LC_MESSAGES/settings_general.mo > building [html]: targets for 23 source files that are out of date > updating environment: [new config] 23 added, 0 changed, 0 removed > reading sources... [100%] train > /Applications/MAMP/htdocs/sakkadentrainer/doc/medical_product.rst:: WARNING: > image file not readable: img/konferkl_signed.png > looking for now-outdated files... none found > pickling environment... erledigt > checking consistency... erledigt > preparing documents... erledigt > writing output... [100%] train > generating indices... genindexerledigt > writing additional pages... searcherledigt > copying images... [100%] img/de/train_07.png > copying static files... ... erledigt > copying extra files... erledigt > dumping search index in German (code: de)... erledigt > dumping object inventory... erledigt > build abgeschlossen, 1 warning. > > The HTML pages are in ../../sakkadentrainer_medical_doc/de. > > > Answer from github: > > I think this problem is caused by your environment. Please check your python. > > Sphinx is installed under /usr/local/Celler. > > File > "/usr/local/Cellar/sphinx-doc/3.0.3/libexec/lib/python3.8/site-packages/sphinx/config.py", > line 319, in eval_config_file > > But your pip3 refers /Users/beatgurtner/Library/Python. > > Requirement already satisfied: rst2pdf in > /Users/beatgurtner/Library/Python/3.7/lib/python/site-packages (0.97) > > I guess you installed multiple pythons in your PC. Please install > sphinx_rtd_theme into the Python that Sphinx installed. > > > > > > My response: > > > > Yes, I have standard python 2.7 and 3.7 > > python --version > Python 2.7.16 > > which python > /usr/bin/python > > which python3 > /usr/bin/python3 > python3 --version > Python 3.7.3 > > I think for sphinx python 2.7 is enough... > > So how can I tell my system and sphinx to use 2.7? > > Do I have to change something in $PATH? > > echo $PATH > /usr/local/opt/sphinx-doc/bin:/usr/local/opt/sphinx-doc/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin > > Thanks for the help and sorry but for me this is all a bit of a mess ;) > > -- > You received this message because you are subscribed to the Google Groups > "sphinx-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sphinx-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sphinx-users/d2828d67-9cec-41ab-a2d8-f4cc79e6200a%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "sphinx-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to sphinx-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sphinx-users/CAFesC-ctZ7dUZm4jDM6SneYHT5Ks%2B3E49uPt69XuvCYo%3DPRzgQ%40mail.gmail.com.